




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、1 / 9 實驗一:線性表的基本操作 實驗?zāi)康?學(xué)習(xí)掌握線性表的順序存儲結(jié)構(gòu)、鏈?zhǔn)酱鎯Y(jié)構(gòu)的設(shè)計與操作。對順序表建立、插入、刪除的基本操作,對單鏈表建立、插入、刪除的基本操作算法。 實驗容 1. 順序表的實踐1) 建立 4 個元素的順序表s=sqlist=1,2,3,4,5,實現(xiàn)順序表建立的基本操作。2) 在 sqlist =1,2,3,4,5的元素 4 和 5 之間插入一個元素9,實現(xiàn)順序表插入的基本操作。3) 在 sqlist =1,2,3,4,9,5中刪除指定位置( i=5 )上的元素 9,實現(xiàn)順序表的刪除的基本操作。2. 單鏈表的實踐3. 1) 建立一個包括頭結(jié)點(diǎn)和4 個結(jié)點(diǎn)的( 5,
2、4,2,1)的單鏈表,實現(xiàn)單鏈表建立的基本操作。2) 將該單鏈表的所有元素顯示出來。3) 在已建好的單鏈表中的指定位置(i=3 )插入一個結(jié)點(diǎn)3,實現(xiàn)單鏈表插入的基本操作。4) 在一個包括頭結(jié)點(diǎn)和5 個結(jié)點(diǎn)的( 5,4,3,2,1)的單鏈表的指定位置(如 i=2 )刪除一個結(jié)點(diǎn),實現(xiàn)單鏈表刪除的基本操作。5) 實現(xiàn)單鏈表的求表長操作。 實驗步驟 1. 打開 vc+ 。2. 建立工程:點(diǎn)file-new ,選 project標(biāo)簽,在列表中選win32 console application,再在右邊的框里為工程起好名字,選好路徑,點(diǎn)ok-finish 。至此工程建立完畢。3. 創(chuàng)建源文件或頭文件
3、:點(diǎn)file-new ,選 file標(biāo)簽,在列表里選c+ source file 。給文件起好名字,選好路徑,點(diǎn)ok 。至此一個源文件就被添加到了剛創(chuàng)2 / 9 建的工程之中。4寫好代碼5編譯調(diào)試1、#include stdio.h #include malloc.h #define ok 1 #define overflow -2 #define error 0 #define list_init_size 100 #define listincrement 10 typedef int elemtype; typedef int status; typedef struct elemtyp
4、e *elem; int length; int listsize; sqlist; status initlist( sqlist &l ) int i,n; l.elem = (elemtype*) malloc (list_init_size*sizeof (elemtype); if (!l.elem) return(overflow); printf(輸入元素的個數(shù) :); scanf(%d,&n); printf(輸入各元素的值 :); for(i=0;in;i+) scanf(%d,&l.elemi); l.length = n; l.listsize =
5、 list_init_size; return ok; 3 / 9 status listinsert(sqlist &l, int i, elemtype e) elemtype *newbase,*p,*q; if (i l.length+1) return error; if (l.length = l.listsize) newbase = (elemtype *)realloc(l.elem, (l.listsize+listincrement)*sizeof (elemtype); if (!newbase) return(overflow); l.elem = newba
6、se; l.listsize += listincrement; q = &(l.elemi-1); for (p = &(l.eleml.length-1); p = q; -p) *(p+1) = *p; *q = e; +l.length; return ok; status listdelete(sqlist &l, int i, elemtype &e) elemtype *p,*q; if(i l.length) return error; p = &(l.elemi-1); e = *p; q = l.elem+l.length-1; fo
7、r (+p; p = q; +p) *(p-1) = *p; -l.length; return ok; void visitlist(sqlist l) 4 / 9 int i; for(i=0;il.length;i+) printf(%dt,l.elemi); void main() int i,e; sqlist l; initlist(l) ; visitlist(l); printf(輸入插入位置和值 :); scanf(%d,%d,&i,&e); printf(插入元素后,表中的值 :); listinsert(l,i,e); visitlist(l); prin
8、tf(輸入刪除位置 :); scanf(%d,&i); printf(刪除元素后,表中的值 :); listdelete(l,i,e); visitlist(l); 2、#include stdio.h #include malloc.h #define ok 1 #define overflow -2 #define list_init_size 100 #define listincrement 10 typedef int elemtype; typedef int status; 5 / 9 typedef struct elemtype *elem; int length;
9、int listsize; sqlist; status initlist( sqlist &l ) int i,n; l.elem = (elemtype*) malloc (list_init_size*sizeof (elemtype); if (!l.elem) return(overflow); printf(輸入元素的個數(shù) :); scanf(%d,&n); printf(輸入各元素的值 :); for(i=0;in;i+) scanf(%d,&l.elemi); l.length = n; l.listsize = list_init_size; retu
10、rn ok; void visitlist(sqlist l) int i; for(i=0;il.length;i+) printf(%dt,l.elemi); void main() sqlist l; initlist(l) ; visitlist(l); 6 / 9 3、#include stdio.h #include malloc.h #define ok 1 #define overflow -2 #define error 0 typedef int status; typedef int elemtype; typedef struct lnode elemtype data
11、; struct lnode *next; lnode,*linklist; status listinsert(linklist &l,int i,elemtype e) linklist p,s; int j; p=l;j=0; while(p&jnext;+j; if(!p|ji) return error; s=(linklist)malloc(sizeof(lnode); s-data=e; s-next=p-next; p-next=s; return ok; status listdelete(linklist &l,int i,elemtype &
12、;e) linklist p,q; int j; 7 / 9 p=l;j=0; while(p-next&jnext;+j; if(!(p-next)|ji-1) return error; q=p-next;p-next=q-next; e=q-data;free(q); return ok; status createlist(linklist &l, int n) int i; linklist p; l = (linklist) malloc (sizeof (lnode); l-next = null; printf(輸入元素的個數(shù)和相應(yīng)值:); scanf(%d,&
13、amp;n); for (i = n; i 0; -i) p = (linklist) malloc (sizeof (lnode);/生成新結(jié)點(diǎn) scanf(%d,&p-data);/輸入指針 p 指出 i=n 時所對應(yīng)的數(shù)值 p-next = l-next; l-next = p; return ok; void visitlist(linklist l) lnode *p; p=l-next; while(p) 8 / 9 printf(%dt,p-data); p=p-next; void main() int i,n; linklist l; elemtype e; createlist(l,n); visitlist(l); printf(輸入插入位置和值 :); scanf(%d,%d,&i,&e); printf(插入元素后,表中的值 :); listinsert(l,i,e); visitlist(l); printf(輸入刪除位置 :); scanf(%d,&i); printf(刪除元素后,表中的值 :); listdelete(l,i,e); visitlist(l); 實驗心得 今天是本學(xué)期的第一次上機(jī)實驗課,老師先給我們發(fā)了本次上機(jī)的容以與部分實驗代
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 六年級下冊數(shù)學(xué)教學(xué)設(shè)計-總復(fù)習(xí) 雞兔同籠|北師大版
- 三年級下冊數(shù)學(xué)教案-6.1 面積的初步認(rèn)識 丨蘇教版
- 六年級下冊數(shù)學(xué)教案-1.2 百分?jǐn)?shù)和分?jǐn)?shù)、小數(shù)的互化 ︳西師大版
- 2025年學(xué)習(xí)雷鋒精神62周年主題活動方案 合計3份
- 2024年槽鋼項目資金需求報告代可行性研究報告
- 2025年河北司法警官職業(yè)學(xué)院單招職業(yè)技能測試題庫完美版
- 專題21 信息的傳遞-2025年中考《物理》一輪復(fù)習(xí)知識清單與解題方法
- 2025年廣西自然資源職業(yè)技術(shù)學(xué)院單招職業(yè)傾向性測試題庫參考答案
- 2025年度代養(yǎng)大型豬群養(yǎng)殖基地合作協(xié)議
- 2025年度專業(yè)瓷磚鋪貼班組勞務(wù)合同
- 蘇科版七年級數(shù)學(xué)下冊期末復(fù)習(xí)+10(專題-幾何圖形的證明)
- 人人都是產(chǎn)品經(jīng)理2 0:寫給泛產(chǎn)品經(jīng)理
- 西方經(jīng)濟(jì)學(xué)(第二版)完整整套教學(xué)課件
- 振動振動測試基礎(chǔ)知識培訓(xùn)課件
- 《云南瀾滄鉛礦有限公司勐濱煤礦采礦權(quán)價款退還計算說明》
- sbl-ep16高低壓開關(guān)柜培訓(xùn)中法文kyn6140.5安裝使用說明書
- GB/T 9113.1-2000平面、突面整體鋼制管法蘭
- GB/T 8947-1998復(fù)合塑料編織袋
- PALL 頗爾過濾器 -乙烯系統(tǒng)培訓(xùn)
- 2021年湖北師范學(xué)院專升本C語言程序設(shè)計試卷
- CB/T 3136-1995船體建造精度標(biāo)準(zhǔn)
評論
0/150
提交評論