鏈表實(shí)驗(yàn)報(bào)告總結(jié)_第1頁(yè)
鏈表實(shí)驗(yàn)報(bào)告總結(jié)_第2頁(yè)
鏈表實(shí)驗(yàn)報(bào)告總結(jié)_第3頁(yè)
鏈表實(shí)驗(yàn)報(bào)告總結(jié)_第4頁(yè)
鏈表實(shí)驗(yàn)報(bào)告總結(jié)_第5頁(yè)
已閱讀5頁(yè),還剩7頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、文檔來源為 :從網(wǎng)絡(luò)收集整理.word 版本可編輯.歡迎下載支持鏈表實(shí)驗(yàn)報(bào)告總結(jié)篇一:順序表,鏈表總結(jié)實(shí)驗(yàn)報(bào)告實(shí)驗(yàn)報(bào)告實(shí)驗(yàn)?zāi)康模簩W(xué)生管理系統(tǒng)(順序表)實(shí)驗(yàn)要求:1. 建表2. 求表長(zhǎng)3. 插入4. 查找5. 刪除6. 列表7. 退出源程序:#include#include#include#defineMaxSize1000typedefstructcharxh40;charxm40;intcj;DataType;/學(xué)生的結(jié)構(gòu)typedefstructDataTypedataMaxSize;/定義表的數(shù)據(jù)類型intlength;/數(shù)據(jù)元素分別放置在data0到datalength-1當(dāng)中SqLi

2、st;/表的結(jié)構(gòu)voidliebiao(SqList*L)/intk,n;charq;printf("請(qǐng)輸入,輸入學(xué)生的個(gè)數(shù):n");fflush(stdin);scanf("%d",&n);for(k=0;kprintf("請(qǐng)輸入學(xué)生學(xué)號(hào)n");scanf("%s",L->datak.xh);printf("請(qǐng)輸入學(xué)生名字n");scanf("%s",L->datak.xm);printf("請(qǐng)輸入學(xué)生成績(jī)n");scanf(&quo

3、t;%d",&L->datak.cj);建立表格L->length=n;voidqb(SqList*L)/全部輸出intk,w;for(k=0;klength;k+)w=k+1;printf("第位學(xué)生:”,w);printf("%s%s%dn",L->datak.xh,L->datak.xm,L->datak.cj);插入信intcr(SqList*L,DataType*xs,inti)/息intj;if(L->length=MaxSize)printf("沒有!");return0;el

4、seif(iL->length)printf("程序溢出,不符合");return0;elsefor(j=L->length-1;j>=i;j-)strcpy(L->dataj+1.xh,L->dataj.xh);strcpy(L->dataj+1.xm,L->dataj.xm);L->dataj+1.cj=L->dataj.cj;strcpy(L->datai.xh,xs->xh);strcpy(L->datai.xm,xs->xm);L->datai.cj=xs->cj;L->

5、;length=L->length+1;return0;int cz(SqList *L) /查找信息charxh40;charxm40;intcj;inti=0,u;printf("1、按學(xué)號(hào)查詢n");printf("1、按姓名查詢n");printf("1、按成績(jī)查詢n");printf("請(qǐng)選擇:");fflush(stdin);scanf("%d",&u);if(u=1)printf("請(qǐng)輸入要查找學(xué)生的學(xué)號(hào):");scanf("%s&quo

6、t;,xh);for(i=0;ilength;i+)篇二:?jiǎn)捂湵淼膶?shí)驗(yàn)報(bào)告遼寧工程技術(shù)大學(xué)上機(jī)實(shí)驗(yàn)報(bào)告篇三:?jiǎn)捂湵韺?shí)驗(yàn)報(bào)告實(shí)驗(yàn)一線性表基本操作的編程實(shí)現(xiàn)-線性表在鏈表存儲(chǔ)下的主要操作實(shí)現(xiàn)地點(diǎn) :5502班級(jí):T523-1姓名:王娟學(xué)號(hào):33完成日期:5文檔來源為 :從網(wǎng)絡(luò)收集整理.word 版本可編輯.歡迎下載支持學(xué)時(shí):2學(xué)時(shí)一、需求分析【實(shí)驗(yàn)?zāi)康摹客ㄟ^本次實(shí)驗(yàn),對(duì)課堂上線性表的知識(shí)進(jìn)行鞏固,進(jìn)一步熟悉線性表的鏈接存儲(chǔ)及相應(yīng)的基本操作;并熟練掌握VC+6.0操作平臺(tái),學(xué)會(huì)調(diào)試程序,以及編寫電子實(shí)驗(yàn)報(bào)告【實(shí)驗(yàn)要求】編寫線性表的基本操作,有構(gòu)造線性表,線性表的遍歷,插入,刪除,查找,求表長(zhǎng)等基本功

7、能,在此基礎(chǔ)上能夠加入DOST的圖形界面以及學(xué)會(huì)文件的操作等功能,為以后的學(xué)習(xí)打下基礎(chǔ)?!緦?shí)驗(yàn)任務(wù)】(1) .線性表基本操作的編程實(shí)現(xiàn),掌握線性表的建立、遍歷、插入、刪除等基本操作的編程實(shí)現(xiàn),也可以進(jìn)一步編程實(shí)現(xiàn)查找、逆序、排序等操作,存儲(chǔ)結(jié)構(gòu)可以在順序結(jié)構(gòu)或鏈表結(jié)構(gòu)中任選,可以完成部分主要功能,也可以用菜單進(jìn)行管理完成大部分功能。還鼓勵(lì)學(xué)生利用基本操作進(jìn)行一些更實(shí)際的應(yīng)用型程序設(shè)計(jì)。(2) .用菜單管理,把線性表的順序存儲(chǔ)和鏈表存儲(chǔ)的數(shù)據(jù)插入、刪除運(yùn)算進(jìn)行程序?qū)崿F(xiàn)。建議實(shí)現(xiàn)鍵盤數(shù)據(jù)輸入實(shí)現(xiàn)改實(shí)驗(yàn)的通用性。為了體現(xiàn)功能的正常性,至少要編制遍歷數(shù)據(jù)的函數(shù)(3) .注意事項(xiàng):開發(fā)語(yǔ)言使用C+,盡量

8、使用面向?qū)ο蟮乃枷牒蛯?shí)現(xiàn)方法,可以改編成應(yīng)用軟件.【實(shí)驗(yàn)類型】驗(yàn)證型實(shí)驗(yàn)二、概要設(shè)計(jì)需要實(shí)現(xiàn)線性表的以下功能:1、創(chuàng)建單鏈表2、刪除鏈表中的某個(gè)結(jié)點(diǎn)3、輸出單鏈表(遍歷)4、釋放結(jié)點(diǎn)所占空間5、查找第i個(gè)結(jié)點(diǎn)6、插入一個(gè)結(jié)點(diǎn)7、求鏈表的長(zhǎng)度二、詳細(xì)設(shè)計(jì)(1) .數(shù)據(jù)結(jié)構(gòu)線性表的線性結(jié)構(gòu)覺決定了它的性質(zhì):數(shù)據(jù)元素之間是一種線性關(guān)系,數(shù)據(jù)元素一個(gè)接一個(gè)的排列,除了最后一個(gè)數(shù)據(jù),其他的數(shù)據(jù)面臨的下一個(gè)數(shù)據(jù)有且僅有一個(gè)。(2) .存儲(chǔ)結(jié)構(gòu)單鏈表采用一個(gè)結(jié)點(diǎn)存放一個(gè)數(shù)據(jù)元素,每個(gè)結(jié)點(diǎn)除了包括存放數(shù)據(jù)元素值的數(shù)據(jù)域(data)外,還包括指向下一個(gè)元素的存儲(chǔ)位置的指針域(next)。最后一個(gè)結(jié)點(diǎn)的指針域?yàn)榭?/p>

9、。(3) .算法分析(函數(shù)功能的實(shí)現(xiàn))a.創(chuàng)建鏈表創(chuàng)建鏈表的過程實(shí)際相當(dāng)于申請(qǐng)了一個(gè)一個(gè)的節(jié)點(diǎn),將這些節(jié)點(diǎn)用一種關(guān)系連接起來。本程序沒有空置的頭結(jié)點(diǎn)。創(chuàng)建的過程中分別對(duì)頭結(jié)點(diǎn)和非頭結(jié)點(diǎn)進(jìn)行不同的處理。(1) .創(chuàng)建的過程nodetype*create()/建立單鏈表,由用戶輸入各節(jié)data域之值elemtyped;nodetype*h=NULL,*s,*t;inti=1;coutwhile(1)coutcin>>d;if(d=0)break;/以0表示輸入結(jié)束if(i=1)/建立第一個(gè)節(jié)點(diǎn)h=newnodetype;9文檔來源為 :從網(wǎng)絡(luò)收集整理.word 版本可編輯.歡迎下載支持

10、h->data=d;h->next=NULL;t=h;else/建立其于節(jié)點(diǎn)s=newnodetype;s->data=d;s->next=NULL;t->next=s;t=s;/t始終指向生成的單鏈表最后一結(jié)點(diǎn)i+;return(h);b.插入函數(shù)鏈表的插入分為往前插和往后插兩種操作,此程序采用了往后插的方法,同時(shí)實(shí)現(xiàn)了從鍵盤輸入數(shù)據(jù)的功能。也考慮了特殊情況即鏈表的溢出,對(duì)此首先進(jìn)行了判斷,保證了程序的安全性和健壯性。在此過程中調(diào)用了另一函數(shù)find();nodetype*ins(nodetype*h,inti,elemtypex)/第i個(gè)節(jié)點(diǎn)后插入data域?yàn)閤的節(jié)點(diǎn)nodetype*p,*s;s=newnodetype;/建結(jié)點(diǎn)ss->data=x;s->next=NULL;if(i=0)/插入到第一個(gè)位置s->next=h;h=s;elsep=find(h,i);/查找第i個(gè)節(jié)點(diǎn),并由p指向該節(jié)點(diǎn)if(p!=NULL)s->next=p->next;p->next=s;elsecoutreturnh;c. 刪除函數(shù)對(duì)于刪除,和插入一樣也要通過改鏈來實(shí)現(xiàn),不過在單鏈表中,當(dāng)一個(gè)指針指向某一個(gè)節(jié)點(diǎn)時(shí),是不能刪除它的,因?yàn)榈刂反娣旁谏弦粋€(gè)節(jié)點(diǎn)的鏈域中,所以必須啟動(dòng)一個(gè)尾隨

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論