實驗報告__線性表

實驗報告__線性表

ID:47604262

大小:109.00 KB

頁數(shù):14頁

時間:2019-09-27

實驗報告__線性表_第1頁
實驗報告__線性表_第2頁
實驗報告__線性表_第3頁
實驗報告__線性表_第4頁
實驗報告__線性表_第5頁
資源描述:

《實驗報告__線性表》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。

1、...姓名王倩學號1104180204班級計科1102年級1102級指導教師李翠西安財經(jīng)學院信息學院《算法與數(shù)據(jù)結(jié)構(gòu)》實驗報告實驗名稱線性表實驗室實驗日期參考學習...順序表的基本運算一、實驗?zāi)康?.掌握線性表的順序存儲結(jié)構(gòu)(順序表)的含義與實現(xiàn)方法;2.熟練掌握線性表在順序存儲結(jié)構(gòu)上的插入、刪除、查找等操作。二、實驗相關(guān)理論及內(nèi)容1.實驗相關(guān)理論①線性表是最簡單、最基本也是最常用的一種線性結(jié)構(gòu)。線性表有兩種存儲方法:順序存儲和鏈式存儲。線性表的基本操作是插入、刪除和檢索等。②了解有關(guān)順序表的概念和性質(zhì);掌握線性表的基本操作的原理以及實現(xiàn)其的算法。2

2、.實驗內(nèi)容編寫實現(xiàn)順序表的基本算法(初始化、查找、插入、刪除等)的函數(shù),并在此基礎(chǔ)上設(shè)計一個主程序完成如下功能:⑴初始化順序表L;⑵建立順序表L,如(a,b,c,d,c);⑶輸出順序表L的長度;⑷輸出順序表L的第i個元素,如第3個元素;⑸輸出給定元素的位置,如輸出元素a的位置;⑹在第i個元素前插入給定元素,如在第4個元素前插入元素f;⑺刪除順序表L的第i個元素,如刪除順序表L的第3個元素。注:最好編寫輸出順序表L的函數(shù)供主程序調(diào)用,以檢驗⑵⑹⑺操作是否成功。三、實驗環(huán)境WindowsXP2007,VisualC++6.0四、實驗步驟(必須包括代碼描述

3、)Ⅰ.插入元素在順序表的某個位置,首先是要查看該位置是否合理,假如順序表中有n個元素,要插入元素在第i個位置,那么插入的位置i應(yīng)當在第1與第n+1個元素位置之間,然后利用插入算法,將第n個元素一直到原第i個元素依次后移,騰出一個空位,將新數(shù)據(jù)插入在該位置,最后將順序表的表長加1;Ⅱ.刪除順序表中的元素,首先仍然要判斷要刪除元素是否在順序表的合理位置,若是合理位置,則將包括該元素在內(nèi)的后面所有元素依次向前前移,直接用后繼覆蓋直接前驅(qū),最后將順序表的表長減1;Ⅲ.查找某個元素是否在順序表中,則可以利用順序查找的方法,從第一個元素開始依次將元素關(guān)鍵字的值與

4、給定元素關(guān)鍵字的值進行比較,若相等則返回該元素在順序表中的位置,若不相等則返回值為空。實現(xiàn)代碼⑴.順序表的初始化(構(gòu)造一個空表)SeqList*init_SeqList()參考學習...{SeqList*L;L=(SeqList*)malloc(sizeof(SeqList));L->last=-1;returnL;}設(shè)調(diào)用函數(shù)為主函數(shù)。主函數(shù)對初始化函數(shù)的調(diào)用如下:main(){SeqList*L;L=init_SeqList();…}(2)插入運算intInsert_SeqList(SeqList*L,inti,datatypex){intj;i

5、f(L->last==MAXSIZE-1){printf("tableisfull!");return(-1);}if(i<1

6、

7、i>(L->last+2)){printf("placeiswrong!");return(0);}for(j=L->last;j>=i-1;j--)L->data[j+1]=L->data[j];L->data[i-1]=x;L->last++;return(1);}⑶.刪除運算參考學習...intDelete_SeqList(SeqList*L,inti){intj;if(i<1

8、

9、i>(L->last+1)){pri

10、ntf("thiselementdon'texist!");return(0);}for(j=i;j<=L->last;j++)L->data[j-1]=L->data[j];L->last--;return(1);}然后依次輸出計算結(jié)果。一、實驗數(shù)據(jù)記錄及分析(可包括錯誤提示,原因,如何解決等)參考學習...參考學習...一、實驗總結(jié)參考學習...上機實驗創(chuàng)建了一個順序表,并且熟練的掌握了線性存儲結(jié)構(gòu)的完成了在順序表上的插入元素,刪除元素,按值查找。通過元素的存儲順序反映線性表中數(shù)據(jù)元素之間的邏輯關(guān)系;可隨機存取順序表的元素;順序表的插入、刪除操作

11、要通過移動元素實現(xiàn)。七、代碼清單#includetypedefstruct{chars[10];intlast;}Seqlist;voidinitlist(Seqlist*l)//初始化線性表{l->last=(-1);}voidcreat(Seqlist*l)//創(chuàng)建線性表{charch;ch=getchar();while(ch!='#'){l->last=l->last+1;l->s[l->last]=ch;ch=getchar();}}voidlocatdisply(Seqlist*l,intn)//輸出指定位置的元素{in

12、tlog=0;while(log!=n&&loglast){log++;}printf("%c"

當前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負責整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內(nèi)容,確認文檔內(nèi)容符合您的需求后進行下載,若出現(xiàn)內(nèi)容與標題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。