線性表的鏈式存儲結構實驗報告.doc

線性表的鏈式存儲結構實驗報告.doc

ID:48451566

大?。?4.51 KB

頁數:8頁

時間:2020-01-30

線性表的鏈式存儲結構實驗報告.doc_第1頁
線性表的鏈式存儲結構實驗報告.doc_第2頁
線性表的鏈式存儲結構實驗報告.doc_第3頁
線性表的鏈式存儲結構實驗報告.doc_第4頁
線性表的鏈式存儲結構實驗報告.doc_第5頁
資源描述:

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

1、實驗報告課程名稱:數據結構與算法分析實驗名稱:鏈表的實現與應用實驗日期:2015.01.30班級:數媒1401姓名:范業(yè)嘉學號1030514108一、實驗目的掌握線性表的鏈式存儲結構設計與基本操作的實現。二、實驗內容與要求⑴定義線性表的鏈式存儲表示;⑵基于所設計的存儲結構實現線性表的基本操作;⑶編寫一個主程序對所實現的線性表進行測試;⑷線性表的應用:①設線性表L1和L2分別代表集合A和B,試設計算法求A和B的并集C,并用線性表L3代表集合C;②(選做)設線性表L1和L2中的數據元素為整數,且均已按值非遞減有序排列,試設計算法對L1

2、和L2進行合并,用線性表L3保存合并結果,要求L3中的數據元素也按值非遞減有序排列。⑸設計一個一元多項式計算器,要求能夠:①輸入并建立多項式;②輸出多項式;③執(zhí)行兩個多項式相加;④執(zhí)行兩個多項式相減;⑤(選做)執(zhí)行兩個多項式相乘。三、數據結構設計1.按所用指針的類型、個數、方法等的不同,又可分為:線性鏈表(單鏈表)靜態(tài)鏈表循環(huán)鏈表雙向鏈表雙向循環(huán)鏈表2.用一組任意的存儲單元存儲線性表中數據元素,用指針來表示數據元素間的邏輯關系。四、算法設計1.定義一個鏈表voidcreatlist(Linklist&L,intn){inti;Li

3、nklistp,s;L=(Linklist)malloc(sizeof(Lnode));p=L;L->next=NULL;for(i=0;idata);s->next=NULL;p->next=s;p=s;8/8}}2.(1)兩個鏈表的合并voidMergelist(Linklist&La,Linklist&Lb,Linklist&Lc){Linklistpa,pb,pc;pa=La->next;pb=Lb->next

4、;Lc=pc=La;while(pa&&pb){if(pa->data<=pb->data){pc->next=pa;pc=pa;pa=pa->next;}else{pc->next=pb;pc=pb;pb=pb->next;}}pc->next=pa?pa:pb;free(Lb);}(2)兩個鏈表的并集Linklistunionlist(Linklist&La,Linklist&Lb){Linklistp1,p2,head,q,s;intflag;head=q=(Linklist)malloc(sizeof(Lnode));p1

5、=La->next;while(p1){flag=0;p2=Lb->next;while(p2){if(p1->data==p2->data){flag=1;break;}p2=p2->next;}if(flag==0){s=(Linklist)malloc(sizeof(Lnode));s->data=p1->data;q->next=s;q=s;}p1=p1->next;8/8}q->next=Lb->next;returnhead;}3.(1)一元多項式的加法Listaddpoly(Listpa,Listpb)//一元多項式

6、的加法{intn;Listpc,s,p;pa=pa->next;pb=pb->next;pc=(List)malloc(sizeof(structLinklist));pc->next=NULL;p=pc;while(pa!=NULL&&pb!=NULL){if(pa->expn>pb->expn){s=(List)malloc(sizeof(structLinklist));s->expn=pa->expn;s->coef=pa->coef;s->next=NULL;p->next=s;p=s;pa=pa->next;}else

7、if(pa->expnexpn){s=(List)malloc(sizeof(structLinklist));s->expn=pb->expn;s->coef=pb->coef;s->next=NULL;p->next=s;p=s;pb=pb->next;}else{n=pa->coef+pb->coef;if(n!=0){s=(List)malloc(sizeof(structLinklist));s->expn=pa->expn;8/8s->coef=n;s->next=NULL;p->next=s;p=s;}pb

8、=pb->next;pa=pa->next;}}while(pa!=NULL){s=(List)malloc(sizeof(structLinklist));s->expn=pa->expn;s->coef=pa->coef;s->next=NUL

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

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

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