版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、1 / 9 實(shí)驗(yàn)一:線性表的基本操作 實(shí)驗(yàn)?zāi)康?學(xué)習(xí)掌握線性表的順序存儲(chǔ)結(jié)構(gòu)、鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)的設(shè)計(jì)與操作。對(duì)順序表建立、插入、刪除的基本操作,對(duì)單鏈表建立、插入、刪除的基本操作算法。 實(shí)驗(yàn)容 1. 順序表的實(shí)踐1) 建立 4 個(gè)元素的順序表s=sqlist=1,2,3,4,5,實(shí)現(xiàn)順序表建立的基本操作。2) 在 sqlist =1,2,3,4,5的元素 4 和 5 之間插入一個(gè)元素9,實(shí)現(xiàn)順序表插入的基本操作。3) 在 sqlist =1,2,3,4,9,5中刪除指定位置( i=5 )上的元素 9,實(shí)現(xiàn)順序表的刪除的基本操作。2. 單鏈表的實(shí)踐3. 1) 建立一個(gè)包括頭結(jié)點(diǎn)和4 個(gè)結(jié)點(diǎn)的( 5,
2、4,2,1)的單鏈表,實(shí)現(xiàn)單鏈表建立的基本操作。2) 將該單鏈表的所有元素顯示出來(lái)。3) 在已建好的單鏈表中的指定位置(i=3 )插入一個(gè)結(jié)點(diǎn)3,實(shí)現(xiàn)單鏈表插入的基本操作。4) 在一個(gè)包括頭結(jié)點(diǎn)和5 個(gè)結(jié)點(diǎn)的( 5,4,3,2,1)的單鏈表的指定位置(如 i=2 )刪除一個(gè)結(jié)點(diǎn),實(shí)現(xiàn)單鏈表刪除的基本操作。5) 實(shí)現(xiàn)單鏈表的求表長(zhǎng)操作。 實(shí)驗(yàn)步驟 1. 打開(kāi) 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 。至此一個(gè)源文件就被添加到了剛創(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(輸入元素的個(gè)數(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(輸入元素的個(gè)數(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(輸入元素的個(gè)數(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 時(shí)所對(duì)應(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); 實(shí)驗(yàn)心得 今天是本學(xué)期的第一次上機(jī)實(shí)驗(yàn)課,老師先給我們發(fā)了本次上機(jī)的容以與部分實(shí)驗(yàn)代
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度建筑企業(yè)施工人員勞動(dòng)保障合同2篇
- 二零二五年度工傷免責(zé)風(fēng)險(xiǎn)評(píng)估與防范合同3篇
- 二零二五年度個(gè)體工商戶租賃合同及創(chuàng)業(yè)投資服務(wù)協(xié)議3篇
- 二零二五年度智慧農(nóng)業(yè)設(shè)施安裝與運(yùn)營(yíng)合同3篇
- 2025年度版權(quán)購(gòu)買合同:影視作品全球版權(quán)交易3篇
- 2025年度環(huán)境治理與污染物減排合同3篇
- 2025年度綠色信托投資公司專項(xiàng)借款合同3篇
- 二零二五年度哈爾濱市租賃市場(chǎng)標(biāo)準(zhǔn)協(xié)議3篇
- 2025年度碎石加工廢棄物處理與資源化利用合同3篇
- 2025版數(shù)據(jù)中心按份額擔(dān)保合同范本3篇
- 控制特需醫(yī)療服務(wù)規(guī)模管理措施
- 部編版三年級(jí)上冊(cè)道德與法治期末測(cè)試卷帶答案(鞏固)
- 教師個(gè)人工作業(yè)績(jī)總結(jié)范文
- 《中華人民共和國(guó)政府采購(gòu)法》專題培訓(xùn)
- 鄭州大學(xué)《高等代數(shù)》2023-2024學(xué)年第一學(xué)期期末試卷
- 對(duì)銀行領(lǐng)導(dǎo)班子的評(píng)價(jià)意見(jiàn)和建議范文(3篇)
- 三年級(jí)上冊(cè)三位數(shù)減法豎式計(jì)算題200道及答案
- 如何保護(hù)個(gè)人手機(jī)數(shù)據(jù)的安全
- 2024醫(yī)療設(shè)備維修與保養(yǎng)合同
- 第6課 戰(zhàn)國(guó)時(shí)期的社會(huì)變革(說(shuō)課稿)2024-2025學(xué)年七年級(jí)歷史上冊(cè)同步高效課堂(統(tǒng)編版2024)
- 汽車內(nèi)飾件及材料氣味評(píng)價(jià)標(biāo)準(zhǔn)解析
評(píng)論
0/150
提交評(píng)論