鏈表基本操作實驗報告

鏈表基本操作實驗報告

ID:37412314

大小:111.00 KB

頁數(shù):9頁

時間:2019-05-23

鏈表基本操作實驗報告_第1頁
鏈表基本操作實驗報告_第2頁
鏈表基本操作實驗報告_第3頁
鏈表基本操作實驗報告_第4頁
鏈表基本操作實驗報告_第5頁
資源描述:

《鏈表基本操作實驗報告》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。

1、..實驗2鏈表基本操作實驗一、實驗?zāi)康?.定義單鏈表的結(jié)點類型。2.熟悉對單鏈表的一些基本操作和具體的函數(shù)定義。3.通過單鏈表的定義掌握線性表的鏈式存儲結(jié)構(gòu)的特點。二、實驗內(nèi)容與要求該程序的功能是實現(xiàn)單鏈表的定義和主要操作。如:單鏈表建立、輸出、插入、刪除、查找等操作。該程序包括單鏈表結(jié)構(gòu)類型以及對單鏈表操作的具體的函數(shù)定義和主函數(shù)。程序中的單鏈表(帶頭結(jié)點)結(jié)點為結(jié)構(gòu)類型,結(jié)點值為整型。要求:同學(xué)們可參考指導(dǎo)書實驗2程序、教材算法及其他資料編程實現(xiàn)單鏈表相關(guān)操作。必須包括單鏈表創(chuàng)建、輸出、插入、刪除操作,其他操作根據(jù)個人情況增減。三、算法分析與設(shè)計

2、。1.創(chuàng)建單鏈表:LinkedListLinkedListCreat()創(chuàng)建鏈表函數(shù)LinkedListL=LinkedListInit(),p,r;調(diào)用初始化鏈表函數(shù)r=L;r指向頭結(jié)點使用malloc函數(shù)動態(tài)分配存儲空間,指針p指向新開辟的結(jié)點,并將元素存放到新開辟結(jié)點的數(shù)據(jù)域,p=(LinkedList)malloc(sizeof(LNode));p->data=x;r->next=p;將新的結(jié)點鏈接到頭結(jié)點r之后r=p;r指向p結(jié)點scanf("%d",&x);滿足條件循環(huán)輸入鏈表元素while(x!=flag)當(dāng)輸入不為-1時循環(huán)r->ne

3、xt=NULL;returnL;將鏈表結(jié)尾賦空值,返回頭結(jié)點L^頭結(jié)點LA1A2L^An.........2.單鏈表插入voidLinkedListInsert(LinkedListL,inti,ElemTypex)鏈表插入函數(shù)(L頭指針,i插入位置,x插入元素)LinkedListp,s;定義結(jié)構(gòu)體類型指針p,sj=1;p=L;定義整型j計數(shù),尋找插入位置,p指針指向頭結(jié)點p=p->next;j++;滿足條件時p指針后移,j自加1while(p&&j

4、

5、j

6、LNode*)malloc(sizeof(LNode));使用malloc函數(shù)動態(tài)分配存儲空間,指針s指向新開辟的結(jié)點,并將插入元素x存放到新開辟結(jié)點s的數(shù)據(jù)域,將結(jié)點s指向i+1結(jié)點位置,第i個結(jié)點指向s,實現(xiàn)了鏈表元素插入。bpaxss->data=x;s->next=p->next;p->next=s;3.單鏈表的刪除:bcpp->next=p->next->next;...三、運行結(jié)果1.單鏈表初始化2.創(chuàng)建單鏈表3.求鏈表長度4.檢查鏈表是否為空5.遍歷鏈表6.從鏈表中查找元素7.從鏈表中查找與給定元素值相同的元素在順序表中的位置...1.

7、向鏈表中插入元素插入元素之后的鏈表2.從鏈表中刪除元素刪除位置為6的元素(是3)3.清空單鏈表三、實驗體會經(jīng)過這次單鏈表基本操作實驗,自己的編程能力有了進一步的提高,認識到自己以前在思考一個問題上思路不夠開闊,不能靈活的表達出自己的想法,雖然在打完源代碼之后出現(xiàn)了一些錯誤,但是經(jīng)過認真查找、修改,最終將錯誤一一修正,主要是在寫算法分析的時候出現(xiàn)了障礙,經(jīng)過從網(wǎng)上查找資料,自己也對程序做了仔細的分析,對單鏈表創(chuàng)建、插入、刪除算法畫了詳細的N-S流程圖。...三、C語言版原代碼#include#include/*定義

8、ElemType為int類型*/typedefintElemType;#defineTRUE1#defineFALSE0#defineNULL0#defineflag-1/*單鏈表的結(jié)點類型*/typedefstructLNode{ElemTypedata;structLNode*next;}LNode,*LinkedList;/*初始化單鏈表*/LinkedListLinkedListInit(){LinkedListL;L=(LinkedList)malloc(sizeof(LNode));L->next=NULL;returnL;}/*清空單鏈

9、表*/voidLinkedListClear(LinkedListL){L->next=NULL;printf("鏈表已經(jīng)清空");}/*檢查單鏈表是否為空*/intLinkedListEmpty(LinkedListL){if(L->next==NULL)returnTRUE;elsereturnFALSE;}/*遍歷單鏈表*/voidLinkedListTraverse(LinkedListL){LinkedListp;...p=L->next;if(p==NULL)printf("單鏈表為空表");else{printf("鏈表中的元素

10、為:");while(p!=NULL){printf("%d",p->data);p=p->next;}

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

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

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