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

下載本文檔

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

文檔簡介

1、南方醫(yī)科大學(xué)生物醫(yī)學(xué)工程學(xué)院_電子信息工程_系 數(shù)據(jù)結(jié)構(gòu)實驗報告 姓名 王浩文學(xué) 號113200880200010 專業(yè) 年級 08電子信息工程單元 章 第2內(nèi) 容線性表 日期2010-5-21 實驗題目 學(xué)時)(綜合性實驗 3實驗一 線性結(jié)構(gòu) 實驗?zāi)康谋敬螌嵙?xí)的主要目的在于熟悉線性表的基本運算在兩種存儲結(jié)構(gòu)上的實現(xiàn),其中以熟悉 各種鏈表的操作為側(cè)重點。通過本次實習(xí)還可復(fù)習(xí)高級語言的使用方法。 實驗內(nèi)容 一、必做題: 二、選做題:個人按順時的)問題的一種描述是:編號為1,2,nn問題描述 約瑟夫(Joeph,。一開始任選一個正整數(shù)作為報數(shù)上限值m針方向圍坐一圈,每人持有一個密碼(正整數(shù))的人出

2、列,將m時停止報數(shù)。報m從第一個人開始按順時針方向自1開始順序報數(shù),報到報數(shù),如此下去,值,從他在順時針方向上的下一個人開始重新從1他的密碼作為新的m 直至所有人全部出列為止。試設(shè)計一個程序求出出列順序。利用單向循環(huán)鏈表存儲結(jié)構(gòu)模擬此過程,按照出列的順序印出各人的編基本要求 號。,1,48,4(正確的結(jié)果應(yīng)為6,的初值為測試數(shù)據(jù) m20;密碼:31,72,4 。,35),72實驗要求及 討論(本次實驗的要求是否有何問達到,是怎么解題, 決的) 一、抄寫自己所選擇的題目。 二、寫出算法設(shè)計思路。三、編寫代碼,調(diào)試運行,實現(xiàn)題目要求(提示:考慮到插入和刪除的位置是否超出范 圍等可能出現(xiàn)的異常問題)

3、。 四、寫出算法設(shè)計、編程和調(diào)試運行的體會。 一、抄寫自己所選擇的題目。 1 南方醫(yī)科大學(xué)生物醫(yī)學(xué)工程學(xué)院_電子信息工程_系 數(shù)據(jù)結(jié)構(gòu)實驗報告 ,其元素非遞減有序排列,編寫一個算法,刪除順序表中值相同多余的元素(相同值保留一A1、已知一順序表 個)。中,使Lx的節(jié)點插入到表2、已知帶頭結(jié)點的單鏈表L中的節(jié)點是按整數(shù)值遞增排序的,試寫一算法,將值為 仍然有序。分析算法的時間復(fù)雜度。得表L 二、寫出算法設(shè)計思路。對順序表中的每個元素與其下一個元素進行比較操作。建立一個順序表用于存儲一組非遞減排序的整形數(shù)據(jù),1再如果相等則對當(dāng)前指針?biāo)赶虻脑剡M行刪除操作,并將它后面的數(shù)據(jù)前移,用指針記錄當(dāng)前所比較

4、的元素, 與下一個元素比較,如果還相等就繼續(xù)刪除操作,否則指向下個元素,再比較直至無重復(fù)的元素。 建立一個帶頭節(jié)點的單鏈表,其節(jié)點按整數(shù)值遞增排序。創(chuàng)建一個新的節(jié)點,并由鍵盤輸入節(jié)點的值。將其2. 與鏈表中原有的節(jié)點(頭節(jié)點不參與比較)按順序作比較,并用指針指向當(dāng)前的位置,若不大于當(dāng)前節(jié)點,則在 當(dāng)前位置這前作插入操作,否則在最后作插入操作。 。實現(xiàn)題目要求(提示:考慮到插入和刪除的位置是否超出范圍等可能出現(xiàn)的異常問題)三、編寫代碼,調(diào)試運行,I: 法解1#include stdio.h #include conio.h #define SIZE 10 main() int SqList_AS

5、IZE=23,3,45,65,23,44,5,7,89,0; int i,j,n,m,l=SIZE; for(i=0;il;i+) printf(%d ,*(SqList_A+i); printf(The new one is:n); for(i=0;i(l-1);i+) for(j=0;j(l-1);j+) if(SqList_Ai=SqList_Aj) if(i!=j) n=i;m=i+1; for(;ml;n+,m+) SqList_An=SqList_Am; l=l-1; for(i=0;il;i+) printf(%d ,*(SqList_A+i); printf(n); getch

6、(); II:法#include stdio.h #include conio.h #define SIZE 18 #define ERROR 0 #define OK 1 */ int length; /* 定義宏觀變量typedef int status; typedef struct 2 南方醫(yī)科大學(xué)生物醫(yī)學(xué)工程學(xué)院_電子信息工程_系 數(shù)據(jù)結(jié)構(gòu)實驗報告 int *elem; int length; int listsize; SqList; status ListDelete(SqList *L) */ L中值相同多余的元素(相同值保留一個) /*刪除順序表 int i=0,j,n=0;

7、 SqList *p=L; if(!p) return ERROR; while(ilength) if(*(p-elem+i)=*(p-elem+i+1) */ 刪除相同多余的元素 /* for(j=i;jlength;j+) *(p-elem+j)=*(p-elem+j+1); n+; p-length-; if(!(*(p-elem+i)=*(p-elem+i+1) */ i判斷第個數(shù)是否任和下一個數(shù)相同 /* i+; length=SIZE-n; return n; main() int aSIZE=1,2,2,5,6,7,7,12,13,13,13,18,19,20,21,24,24

8、,39,t; int n,m; SqList A; A.elem=a; for(n=0;nSIZE;n+) printf(%d ,an); A.length=A.listsize=SIZE; t=ListDelete(&A) ; if(!t)printf(ListDelete ERROR!n); else printf(The new one is:n); for(n=0;ndata=ai; */ 創(chuàng)建整數(shù)值遞增排序鏈表for(i=1;inext=(node *)malloc(sizeof(node); p=p-next; p-data=ai; p-next=NULL; L-next=h; r

9、eturn OK; status ListInsert(node *L,int x) int i,k; for(i=0;i=ai&x=k;i-) ai+1=ai; ak=x; main() node *L,*p; int t,x,i,k; printf(Please input the number you want to insert x:n); scanf(%d,&x); printf(The List is:n); for(i=0;iSIZE;i+) printf(%d ,ai); printf(After inert,the new one is:n); L=(node *)malloc(sizeof(node); if(!L) printf(ERROR!n);return; */ 創(chuàng)建鏈表 t=CreatList(L); /* if(!t) printf(ERROR!n);return; ListInsert(L,x); for(i=0;iSIZE+1;i+) printf(%d ,ai); 4 南方醫(yī)科大學(xué)生物醫(yī)學(xué)工程學(xué)院_電子信息工程_系 數(shù)據(jù)結(jié)構(gòu)實驗報告 getch(); O(n) 時間復(fù)雜度為: 寫出算法設(shè)計、編程和調(diào)試運行的體會。四、語言半年的學(xué)習(xí)可以說掌握的基本可以,但是三天不上手就會手生。現(xiàn)在再次運用時盡忘

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論