C語言-線性表實驗報告.doc

C語言-線性表實驗報告.doc

ID:52564161

大?。?09.14 KB

頁數(shù):18頁

時間:2020-03-28

C語言-線性表實驗報告.doc_第1頁
C語言-線性表實驗報告.doc_第2頁
C語言-線性表實驗報告.doc_第3頁
C語言-線性表實驗報告.doc_第4頁
C語言-線性表實驗報告.doc_第5頁
資源描述:

《C語言-線性表實驗報告.doc》由會員上傳分享,免費在線閱讀,更多相關內容在行業(yè)資料-天天文庫。

1、一.實驗名稱1.線性表基本操作;2.處理約瑟夫環(huán)問題?二.試驗目的:1.熟悉C語言的上機環(huán)境,掌握C語言的基本結構。2.定義單鏈表的結點類型。3.熟悉對單鏈表的一些基本操作和具體的函數(shù)定義。4.通過單鏈表的定義掌握線性表的鏈式存儲結構的特點。5.熟悉對單鏈表的一些其它操作。三.實驗內容1.編制一個演示單鏈表初始化、建立、遍歷、求長度、查詢、插入、刪除等操作的程序。?2.編制一個能求解除約瑟夫環(huán)問題答案的程序。?實驗一線性表表的基本操作問題描述:1.實現(xiàn)單鏈表的定義和基本操作。該程序包括單鏈表結構類型以及對單鏈表操作的具體的函數(shù)定義程序中的單鏈表

2、(帶頭結點)結點為結構類型,結點值為整型。/*定義DataType為int類型*/typedefintDataType;/*單鏈表的結點類型*/typedefstructLNode{DataTypedata;structLNode*next;}LNode,*LinkedList;LinkedListLinkedListInit()//初始化單鏈表voidLinkedListClear(LinkedListL)//清空單鏈表intLinkedListEmpty(LinkedListL)//檢查單鏈表是否為空voidLinkedListTraver

3、se(LinkedListL)//遍歷單鏈表intLinkedListLength(LinkedListL)//求單鏈表的長度/*從單鏈表表中查找元素*/LinkedListLinkedListGet(LinkedListL,inti)?/*從單鏈表表中查找與給定元素值相同的元素在鏈表中的位置*/intLinkedListLocate(LinkedListL,DataTypex)voidLinkedListInsert(LinkedListL,inti,DataTypex)//向單鏈表中插入元素/*從單鏈表中刪除元素*/voidLinkedLi

4、stDel(LinkedListL,DataTypex)/*用尾插法建立單鏈表*/LinkedListLinkedListCreat()2.約瑟夫環(huán)問題:任給正整數(shù)N和K,按下述方法可以得到1,2,…,n的一個置換,將數(shù)字1,2,…,n環(huán)形排列,按順時針方向自1開始報數(shù),報到K時輸出該位置上的數(shù)字,并使其出列。然后從他在順時針方向的下一個數(shù)字繼續(xù)報數(shù),如此下去,直到所有的數(shù)字全部出列為止。例如N=10,K=3,則正確的出列順序應為3,6,9,2,7,1,8,5,10,4。3.試單鏈表實現(xiàn)一個簡單的電子通訊本管理軟件,要求能查找聯(lián)系地址,增加和刪

5、除聯(lián)系人。聯(lián)系方式假定包括姓名、電話和地址?;疽螅?.上機前要做好準備工作,包括程序框圖、數(shù)據(jù)結構以及算法。2.按時實驗3.服從實驗室老師的安排4.獨立實驗,有問題可以討論,但不得翻版。5.遵守實驗室的各項紀律。四、概要設計?1.單鏈表的操作?(1)為了實現(xiàn)上述程序功能,需要定義單鏈表的抽象數(shù)據(jù)類型:?ADT?LinkedList?{? 數(shù)據(jù)對象:D={ai

6、ai∈struct?LNode?set,i=0,1,2,…,n,n≥0}? 數(shù)據(jù)關系:R={

7、ai,ai+1?∈D}? 基本操作:???LinkedListInit(

8、)???操作結果:構造了一個帶頭節(jié)點的空鏈表L;???LinkedListCreat()???初始條件:單鏈表L已存在;???操作結果:建立了一個帶頭節(jié)點的非空鏈表;?LinkedListClear(&L)???初始條件:單鏈表L已存在;???操作結果:將L重置為帶頭節(jié)點的空鏈表;???LinkedListEmpty(&L)???初始條件:單鏈表L已存在;???操作結果:如果鏈表L為空則返回1,鏈表L非空則返回0;???LinkedListLength(&L)?初始條件:單鏈表L已存在;?操作結果:返回單鏈表L中數(shù)據(jù)元素的個數(shù),若L為空表則返回

9、0;?LinkedListTraverse(&L)?初始條件:單鏈表L已存在;?操作結果:依次返回單鏈表L中各節(jié)點的元素值,若L為空表則顯示鏈表為空;?LinkedListGet(&L,i)?初始條件:單鏈表L已存在;?操作結果:顯示鏈表L中第i個節(jié)點個元素值,若鏈表L中沒有第i個節(jié)點則顯示查詢位置不正確;?LinkedListLocate(&L,x)?初始條件:單鏈表L已存在;?操作結果:顯示鏈表L中元素x的位置,若鏈表L中沒有元素x則顯示所查找元素不存在;?LinkedListInsert(&L,i,x)?初始條件:單鏈表L已存在;?操作結

10、果:在單鏈表L第i個節(jié)點后插入一個元素值為x的節(jié)點,L的長度加1,若單鏈表L中沒有第i個節(jié)點則顯示插入位置不正確;?LinkedListDel(&L,

當前文檔最多預覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當前文檔最多預覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學公式或PPT動畫的文件,查看預覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權歸屬用戶,天天文庫負責整理代發(fā)布。如果您對本文檔版權有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內容,確認文檔內容符合您的需求后進行下載,若出現(xiàn)內容與標題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。