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

下載本文檔

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

文檔簡介

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

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

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論