《數(shù)據(jù)結(jié)構(gòu)》實(shí)驗(yàn)3鏈表_第1頁(yè)
《數(shù)據(jù)結(jié)構(gòu)》實(shí)驗(yàn)3鏈表_第2頁(yè)
《數(shù)據(jù)結(jié)構(gòu)》實(shí)驗(yàn)3鏈表_第3頁(yè)
《數(shù)據(jù)結(jié)構(gòu)》實(shí)驗(yàn)3鏈表_第4頁(yè)
《數(shù)據(jù)結(jié)構(gòu)》實(shí)驗(yàn)3鏈表_第5頁(yè)
已閱讀5頁(yè),還剩2頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

《數(shù)據(jù)結(jié)構(gòu)》實(shí)驗(yàn)3鏈表實(shí)驗(yàn)報(bào)告《數(shù)據(jù)結(jié)構(gòu)》實(shí)驗(yàn)3鏈表全文共7頁(yè),當(dāng)前為第1頁(yè)。院(系):課程名稱:數(shù)據(jù)結(jié)構(gòu)日期:《數(shù)據(jù)結(jié)構(gòu)》實(shí)驗(yàn)3鏈表全文共7頁(yè),當(dāng)前為第1頁(yè)。班級(jí)學(xué)號(hào)實(shí)驗(yàn)室專業(yè)計(jì)算機(jī)科學(xué)與技術(shù)姓名計(jì)算機(jī)號(hào)實(shí)驗(yàn)名稱實(shí)驗(yàn)三線性鏈表的運(yùn)算成績(jī)?cè)u(píng)定所用軟件VC或TC教師簽名實(shí)驗(yàn)?zāi)康恼莆站€性鏈表的基本概念掌握線性鏈表的建立、插入和刪除等方法。掌握線性鏈表的基本算法。實(shí)驗(yàn)準(zhǔn)備復(fù)習(xí)書上有關(guān)內(nèi)容。閱讀實(shí)驗(yàn)內(nèi)容1,進(jìn)行程序填空,并編制相應(yīng)的主函數(shù)。編出實(shí)驗(yàn)的源程序。本次實(shí)驗(yàn)需4學(xué)時(shí)實(shí)驗(yàn)內(nèi)容一、線性單鏈表基本操作閱讀下列各函數(shù),進(jìn)行程序填空并寫出主函數(shù),上機(jī)調(diào)試,寫出運(yùn)行結(jié)果及對(duì)結(jié)果的分析。#include"stdio.h"#include"stdlib.h"typedefcharelemtype;typedefstructnode{elemtypedata;structnode*next;}NODE,*LINKLIST;/*鏈表的建立*/LINKLISTcreatelistf(){charch;LINKLISThead;NODE*p;head=(LINKLIST)malloc(sizeof(NODE));head->next=0;ch=getchar();while(ch!='$') {p=(NODE*)malloc(sizeof(NODE)); p->data=ch; 12 ch=getchar();}return(head);}/*在鏈表的P指定結(jié)點(diǎn)之后插入值為x的結(jié)點(diǎn)*/intInsLinkList(NODE*p,charx){NODE*s;/*定義指向結(jié)點(diǎn)類型的指針*/s=(NODE*)malloc(sizeof(NODE));/*生成新結(jié)點(diǎn)*/345return1;}/*刪除P所指向的結(jié)點(diǎn)的后繼結(jié)點(diǎn)*/voidDelLinkList(NODE*p){NODE*q;if(p->next!=0){q=p->next;/*q指向p的后繼結(jié)點(diǎn)*/6/*修改p結(jié)點(diǎn)的指針域*/free(q);}/*刪除并釋放結(jié)點(diǎn)*/}/*在鏈表中查找指定結(jié)點(diǎn)*/NODE*seeknode(NODE*h,intx){NODE*p;p=h;while(p!=0&&p->data!=x)7return(p);}/*鏈表的輸出*/voidprintlink(NODE*h){NODE*p;p=h->next;printf("\n");while(p!=0){printf("%c",p->data);p=p->next;}printf("\n");}voidmain(){《數(shù)據(jù)結(jié)構(gòu)》實(shí)驗(yàn)3鏈表全文共7頁(yè),當(dāng)前為第2頁(yè)。}《數(shù)據(jù)結(jié)構(gòu)》實(shí)驗(yàn)3鏈表全文共7頁(yè),當(dāng)前為第2頁(yè)。二、已知一個(gè)有序(升序)的單鏈表,現(xiàn)有一個(gè)數(shù)據(jù)e,請(qǐng)將e插入到該單鏈表中并要求插入后單鏈表依然有序。提示:(1)單鏈表中原有數(shù)據(jù)個(gè)數(shù)為10個(gè),依次是{1,3,5,7,12,45,67,89,92,99}。(2)需要插入的數(shù)據(jù)e值為25。(3)有序表的插入,需要分兩步完成:第一步確定插入位置,第二步在插入位置上插入指定的數(shù)據(jù)。三、已知單鏈表L,寫一算法,刪除其重復(fù)結(jié)點(diǎn)。算法思路:用指針p指向第一個(gè)數(shù)據(jù)結(jié)點(diǎn),從它的后繼結(jié)點(diǎn)開始到表的結(jié)束,找與其值相同的結(jié)點(diǎn)并刪除之;p指向下一個(gè);依此類推,p指向最后結(jié)點(diǎn)時(shí)算法結(jié)束。四、設(shè)有兩個(gè)單鏈表A、B,其中元素遞增有序,編寫算法將A、B歸并成一個(gè)按元素值遞減(允許有相同值)有序的鏈表C,要求用A、B中的原結(jié)點(diǎn)形成,不能重新申請(qǐng)結(jié)點(diǎn)。五、已知單鏈表表示的線性表中含有兩類的數(shù)據(jù)元素(字母字符,數(shù)字字符)。試設(shè)計(jì)算法,按結(jié)點(diǎn)的值將單鏈表拆分成兩個(gè)循環(huán)鏈表,分別只含有數(shù)字或字母。要求:利用原表中的結(jié)點(diǎn)空間作為這兩個(gè)表的結(jié)點(diǎn)空間,頭結(jié)點(diǎn)可另開辟空間。附加題:如果換成循環(huán)單鏈表該如何實(shí)現(xiàn)?即題目變成:已知單循環(huán)鏈表表示的線性表中含有兩類的數(shù)據(jù)元素(字母字符,數(shù)字字符)。試設(shè)計(jì)算法,按結(jié)點(diǎn)的值將單鏈表拆分成兩個(gè)循環(huán)鏈表,分別只含有數(shù)字或字母。要求:利用原表中的結(jié)點(diǎn)空間作為這兩個(gè)表的結(jié)點(diǎn)空間,頭結(jié)點(diǎn)可另開辟空間。六、編寫程序,實(shí)現(xiàn)如下功能:1.采用尾插法建立帶頭結(jié)點(diǎn)的單鏈表L。2.求出單鏈表的長(zhǎng)度。3.在帶頭結(jié)點(diǎn)的單鏈表L中第i個(gè)結(jié)點(diǎn)之前插入值為e的新結(jié)點(diǎn)。4.在帶頭結(jié)點(diǎn)的單鏈表L中刪除第i個(gè)元素,并保存其值到變量*e中。《數(shù)據(jù)結(jié)構(gòu)》實(shí)驗(yàn)3鏈表全文共7頁(yè),當(dāng)前為第3頁(yè)。

《數(shù)據(jù)結(jié)構(gòu)》實(shí)驗(yàn)3鏈表全文共7頁(yè),當(dāng)前為第3頁(yè)。實(shí)驗(yàn)報(bào)告《數(shù)據(jù)結(jié)構(gòu)》實(shí)驗(yàn)3鏈表全文共7頁(yè),當(dāng)前為第4頁(yè)。院(系):課程名稱:數(shù)據(jù)結(jié)構(gòu)日期:《數(shù)據(jù)結(jié)構(gòu)》實(shí)驗(yàn)3鏈表全文共7頁(yè),當(dāng)前為第4頁(yè)。班級(jí)學(xué)號(hào)實(shí)驗(yàn)室專業(yè)計(jì)算機(jī)科學(xué)與技術(shù)姓名計(jì)算機(jī)號(hào)實(shí)驗(yàn)名稱實(shí)驗(yàn)三線性鏈表的運(yùn)算成績(jī)?cè)u(píng)定所用軟件VC或TC教師簽名實(shí)驗(yàn)?zāi)康?.掌握線性鏈表的基本概念2.掌握線性鏈表的建立、插入和刪除等方法。3.掌握線性鏈表的基本算法。實(shí)驗(yàn)準(zhǔn)備1.復(fù)習(xí)書上有關(guān)內(nèi)容。2.閱讀實(shí)驗(yàn)內(nèi)容1,進(jìn)行程序填空,并編制相應(yīng)的主函數(shù)。3.編出實(shí)驗(yàn)內(nèi)容23的源程序。實(shí)驗(yàn)總結(jié)一、程序填空:1、2、3、4、5、6、7、主函數(shù)為:實(shí)驗(yàn)的輸入數(shù)據(jù)以及輸出結(jié)果為:二、源代碼以及輸入數(shù)據(jù)輸出結(jié)果為:三、源代碼以及實(shí)驗(yàn)結(jié)果為四、源代碼以及實(shí)驗(yàn)結(jié)果為《數(shù)據(jù)結(jié)構(gòu)》實(shí)驗(yàn)3鏈表全文共7頁(yè),當(dāng)前為第5頁(yè)?!稊?shù)據(jù)結(jié)構(gòu)》實(shí)驗(yàn)3鏈表全文

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論