單鏈表的初始化,建立,插入,查找,刪除_第1頁(yè)
單鏈表的初始化,建立,插入,查找,刪除_第2頁(yè)
單鏈表的初始化,建立,插入,查找,刪除_第3頁(yè)
單鏈表的初始化,建立,插入,查找,刪除_第4頁(yè)
單鏈表的初始化,建立,插入,查找,刪除_第5頁(yè)
已閱讀5頁(yè),還剩11頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、單鏈表的初始化,建立,插入,查找,刪除#include <stdio.h>#include <stdlib.h>typedef int ElemType;/定義結(jié)點(diǎn)類型typedef struct NodeElemTypedata;/單鏈表中的數(shù)據(jù)域struct Node*next;/單鏈表的指針域Node,*LinkedList;/單鏈表的初始化LinkedList LinkedListInit()Node*L;L = (Node*)malloc(sizeof(Node);/申請(qǐng)結(jié)點(diǎn)空間if(L =NULL) /判斷是否有足夠的內(nèi)存空間printf( 申請(qǐng)內(nèi)存空間失敗

2、 n);L->next =NULL;/將 next 設(shè)置為 NULL, 初始長(zhǎng)度為 0 的單鏈表return L;/單鏈表的建立 1 ,頭插法建立單鏈表LinkedList LinkedListCreatH()Node*L;L = (Node*)malloc(sizeof(Node);/申請(qǐng)頭結(jié)點(diǎn)空間L->next =NULL;/初始化一個(gè)空鏈表ElemTypex;/x 為鏈表數(shù)據(jù)域中的數(shù)據(jù) while(scanf(%d,&x) != EOF)Node *p;p = (Node*)malloc(sizeof(Node);/申請(qǐng)新的結(jié)點(diǎn)p->data =x;/結(jié)點(diǎn)數(shù)據(jù)域

3、賦值p->next =L->next;/ 將結(jié)點(diǎn)插入到表頭 L->|2|->|1|->NULLL->next = p;returnL;/單鏈表的建立 2 ,尾插法建立單鏈表LinkedList LinkedListCreatT()Node *L;L = (Node *)malloc(sizeof(Node); /申請(qǐng)頭結(jié)點(diǎn)空間L->next =NULL;/初始化一個(gè)空鏈表Node r;L;/r 始終指向終端結(jié)點(diǎn),開(kāi)始時(shí)指向頭結(jié)點(diǎn)ElemTypex;/x 為鏈表數(shù)據(jù)域中的數(shù)據(jù)while(scanf(%d,&x) != EOF)Node *p;p

4、= (Node*)malloc(sizeof(Node);/申請(qǐng)新的結(jié)點(diǎn) p->data =x;/結(jié)點(diǎn)數(shù)據(jù)域賦值r->next =p;/ 將結(jié)點(diǎn)插入到表頭 L->|1|->|2|->NULLr = p;r->next = NULL;returnL;/單鏈表的插入,在鏈表的第 i 個(gè)位置插入 x 的元素LinkedList LinkedListInsert(LinkedList L,int i,ElemType x)Node*pre;/pre 為前驅(qū)結(jié)點(diǎn)pre =L;int tempi =for (tempi =1; tempi < i; tempi+)

5、 pre = pre->next;/查找第 i 個(gè)位置的前驅(qū)結(jié)點(diǎn)Node*p;/插入的結(jié)點(diǎn)為 pp = (Node *)malloc(sizeof(Node);p->data = x;p->next = pre->next;pre->next = p;returnL;/單鏈表的刪除,在鏈表中刪除值為x 的元素LinkedList LinkedListDelete(LinkedList L,ElemType x)Node*p,*pre;/pre 為前驅(qū)結(jié)點(diǎn), p 為查找的結(jié)點(diǎn)p =L->next;while(p->data !=x)/查找值為 x 的元素

6、pre = p;p = p->next; pre->next = p->next;/刪除操作,將其前驅(qū) next 指向其后繼。free(p);returnL;int main()LinkedListlist,start;printf( 請(qǐng)輸入單鏈表的數(shù)據(jù): );list =LinkedListCreatH();for(start =list->next; start != NULL; start =start->next)printf(%d ,start->data);printf(n);inti;ElemType x;printf( 請(qǐng)輸入插入數(shù)據(jù)的位置: );scanf(%d,&i);printf( 請(qǐng)輸入插入數(shù)據(jù)的值: );scanf(%d,&x);LinkedListInsert(list,i,x);for(start =list->next; start != NULL; start =start->next) printf(%d ,start->data);printf(n);printf( 請(qǐng)輸入要?jiǎng)h除的元素的值: );scanf(%d,&x);LinkedListDelete(list,x);f

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論