數據結構實驗建立雙向循環鏈表以及插入刪除操作_第1頁
數據結構實驗建立雙向循環鏈表以及插入刪除操作_第2頁
數據結構實驗建立雙向循環鏈表以及插入刪除操作_第3頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、實驗一要求:建立雙向循環鏈表實現鏈表的插入、刪除運行程序點此處實驗程序源代碼:#include #include#include#define OVERFLOW -2#define ERROR 0#define OK 1typedef int status;/ 雙向循環鏈表的存儲結構typedef struct DuLNodeint data;int Length;struct DuLNode *prior;struct DuLNode *next; DuLNode,*DuLinkList;/ 構建一個空的雙向循環鏈表void InitList(DuLNode *p)*p=(DuLNode *

2、)malloc(sizeof(DuLNode);if(*p)(*p)-next=(*p)-prior=*p;(*p)-Length=0;elseexit(OVERFLOW);/ 雙向循環鏈表的創建void Create(DuLinkList &L,int n)/ 輸入 n 個元素的值,建立帶頭結點的雙線循環鏈表LDuLinkList p=L,q;int i;for(i=1;idata);p-next =q;q-prior=p;q-next=L;L-prior =q;p=q;L-Length +;/ 查找元素的位置DuLinkList GetElemP(DuLinkList h,int i) i

3、nt j;DuLinkList p=h;for(j=1;jnext ;return p;/ 結點的插入status Listinsert(DuLNode *m,int i,int e) /在帶頭結點的雙鏈循環線性表L中第i個位置之前插入元素e, i的合法值為iwi w表長DuLinkList p,q;if(i(m-Length) / i值不合法return ERROR;p=GetElemP(m,i);if(!p)return ERROR;q=(DuLinkList)malloc(sizeof(DuLNode);if(!q)return OVERFLOW;q-data=e;q-prior=p-p

4、rior;p-prior-next=q;q-next=p;p-prior=q;m-Length+;printf(您在雙向循環鏈表第個位置之前插入了一結點元素:dn,i,e);return OK;/ 結點的刪除 status ListDelete(DuLinkList L,int i)/刪除帶頭結點的雙鏈循環線性表L的第i個元素,i的合法值為iwiw表長DuLinkList p;if(iprior-next=p-next;p-next-prior=p-prior;L-Length -;printf( 刪除了雙線循環鏈表中第 辦結點,元素值為:dn”,i,p-data); free(p);retu

5、rn OK;/ 結點的輸出void Display( DuLinkList L) DuLinkList p;printf( 雙向循環鏈表中的結點的數據為:);for(p=L-next ;p-next !=L;)printf(%d,p-data);printf( & );p=p-next ;printf(%dn,p-data );/ 主函數實現鏈表的創建,插入,刪除等操作void main()DuLinkList L;int n,i;InitList(&L) ;printf( 你想創建幾個循環節點就輸入幾就行啦,請輸入:);scanf(%d,&n);Create(L,n);Listinsert(L,3,3);/結點的插入printf( 您想刪除哪個結點呢);scanf(%d,&i);printf(您確定刪除此結點嗎1:YES 2:NO (回復數字確認);if(i=2)printf( 您想刪除哪個結點呢);scanf(%d,&i);List

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論