實驗三順序表的基本操作

2023-01-23 12:21:02 字數 2565 閱讀 1406

【實驗目的】

1、掌握建立順序表的基本方法。2、理解和掌握順序表元素查詢演算法3、掌握順序表的插入演算法的思想和實現。4、掌握順序表的刪除演算法的思想和實現【實驗內容】

1、首先將書上順序表的各操作演算法集中在乙個標頭檔案中(儲存以備今後使用);建立乙個

順序表,要求從鍵盤輸入10個整數,並將該順序表的元素從螢幕顯示出來。

2、用函式實現在順序表中查詢其中乙個元素,如果找到,返回該元素在順序表中的位置和

該元素的值,否則提示無此元素(查詢函式書上沒有,需自行編寫,放書標頭檔案中。)。3、用函式實現順序表的插入和刪除操作。

由使用者輸入待插入元素及插入位置,將完成插入後的順序表輸出;由使用者輸入刪除第幾個元素,將完成刪除後的順序表輸出。(插入、

刪除使用書上已有的函式)【實驗源**】

此處寫程式源**,請在程式中適當注釋,便於老師更快地看懂你的程式。 w**typedef struct seqlist;

void listinitiate(seqlist *l){}

int listlength(seqlist l)

l->size=0;

datatype list[maxsize];int size;

{}int listinsert(seqlist *l,int i, datatype x)

else if(i<0||i>l->size){}else

}int listdelete(seqlist *l,int i, datatype *x)

else if(i<0||i>l->size-1){}else{}

*x=l->list[i];

for(j=i+1;j<=l->size-1;j++) l->list[j-1]=l->list[j];l->size--;return 1;

printf("引數i不合法!\n");return 0;

printf("順序表已空無資料元素可刪!\n");return 0;

}int listget(seqlist l,int i,datatype *x){}

int listfind(seqlist *l,int find)

if (i==l->size)

if (find==l->list[i]){}

return (i+1);

if(i<0||i>

*x= 1;

printf("引數i不合法!\n");return 0;}{}

printf("順序表中沒有這個值。\n");return 0;

#endif1、

#include<>#define maxsize 100typedef int datatype;#include""void main(void)

for(i=0;i<10;i++)

listinsert(&mylist,i,a[i]);scanf("%d",&a[i]);

//}2、

#include<>#define maxsize 100typedef int datatype;#include""void main(void)

scanf("%d",&a[i]);listdelete(&mylist,4,&x);for(i=0;ilistget(mylist,i,&x);printf("%d",x);

}3、for(i=0;i<10;i++)

listinsert(&mylist,i,a[i]);

printf("請輸入你要查詢的數:");scanf("%d",&b);c=listfind(&mylist,b);if (c!=0){}

//listdelete(&mylist,4,&x);/*for(i=0;ilistget(mylist,i,&x);printf("%d",x);

printf("你要找的值在第%d位\n",c);printf("你要找的數是:%d",b);

#include<>#define maxsize 100typedef int datatype;#include""void main(void)

for(i=0;i<10;i++)

listinsert(&mylist,i,a[i]);scanf("%d",&a[i]);

/*printf("請輸入你要查詢的數:");scanf("%d",&b);c=listfind(&mylist,b);if (c!=0){}*/

printf("請輸入你想刪除值的位置:");scanf("%d",&d);

listdelete(&mylist,d,&x);printf("現在的順序表為:");

printf("你要找的值在第%d位\n",c);printf("你要找的數是:%d",b);

}//listdelete(&mylist,4,&x);for(i=0;ilistget(mylist,i,&x);printf("%d",x);

【實驗結果】

輸入的資料是:1 2 3 4 5 6 7 8 9 10輸出資料是:1 2 3 4 5 6 7 8 9 10輸入資料是:6

輸出資料是:1 2 3 4 5 6 8 9 10【實驗心得】

通過本次實驗,更好地了解順序表,但困難是剛開始時,沒什麼頭緒,通過參考書本和同學交流,才慢慢地有思路。知道實驗室要小心認真,要不就算是一點手誤,也要找很久。

資料結構實驗三順序棧基本操作

課內實驗任務書 年月日實驗三順序棧的基本操作 一 實驗目的 1.了解順序棧的結構特點及有關概念 2.理解順序棧的儲存結構 3.掌握順序棧的基本操作演算法。二 實驗內容 建立順序棧,完成順序棧的基本操作 初始化 入棧 出棧 輸出 銷毀,置棧空 求棧長 判順序棧是否為空 棧滿 取棧頂元素。三 實驗要點及...

實驗報告04 順序棧的基本操作

實驗目的及要求 了解和掌握順序棧的特點 掌握順序棧基本操作的實現 要求完成順序棧的初始化 入棧 出棧 取棧頂元素 顯示操作的實現。實驗裝置環境及要求 pc機一台,記憶體要求128m以上,vc 6.0整合開發環境。實驗內容與步驟 1 在vc 6.0環境中新建乙個工程和c 檔案 2 實現順序棧初始化 入...

資料結構之順序表操作實驗

實驗二 順序表的基本操作 a include include define list init size 100 define listincrement 10 typedef char elemtype typedef structsqlist void initlist sqlist l l l...