C語言單鏈表完整簡單示範

2021-10-09 01:40:58 字數 2073 閱讀 1569

我們先實現乙個簡單的單鏈表的可新增資料和列印資料

#include

"stdio.h"

#include

"stdlib.h"

//提供malloc()和free()

#include

"string.h"

//提供strcpy()等

struct node* head=

null

;struct node* end =

null

;struct node

;//尾部新增

void

add(

int a )

else

end=temp;

//尾結點應該始終指向最後乙個

}//列印所有

void

print()

}//執行

intmain()

接下來是完整的單鏈表所有功能演示,資料的頭插入,尾插入,指定位置插入,和資料的頭刪除,尾刪除,指定位置刪除,和列印資料。

#include

"stdio.h"

#include

"stdlib.h"

//提供malloc()和free()

#include

"string.h"

//提供strcpy()等

struct node* head=

null

;struct node* end =

null

;struct node

;//尾部新增

void

add(

int a )

else

end=temp;

//尾結點應該始終指向最後乙個

}//列印所有

void

print()

}//刪除開頭

void

topdell()

else

}//刪除結尾

void

dell()

else

//記住上乙個指標

temp2=temp;

//指向下乙個

temp=temp->next;}}

}//刪除任意位置

void

maxdell

(int number)

else

key++;if

(key==number)

//記住上乙個指標

temp2=temp;

//指向下乙個

temp=temp->next;

//超過最大時退出

if(temp->next==

null)}

}}//開頭新增

void

topadd

(int a )

//寫好新的

struct node* temp2=

(struct node*

)malloc

(sizeof

(struct node));

//此處注意強制型別轉換

temp2->a=a;

temp2->next=head;

head=temp2;

}//任意位置新增

void

maxadd

(int number,

int data)

else

key++;if

(key==number)

//記住上乙個指標

temp2=temp;

//指向下乙個

temp=temp->next;

//超過最大時退出

if(temp->next==

null)}

}}intmain

(int argc,

char

** ar**)

下面是我的幾個****:

C語言單鏈表簡單理解

出於很多剛學習鍊錶的很多小夥伴在學習鍊錶的時候有很多困惑,我在此特地的出一篇部落格,幫助我的朋友們。有寫的不好的地方,大佬請勿略這篇內容 鍊錶裡面的插入資料還是很有講究的 1 頭插法 插入資料 123 4567 89實際輸出 987 6543 212 尾插法 插入資料 123 4567 89實際輸出...

c語言之單鏈表簡單操作

建立鍊錶有倆種方式,一種是頭插法,一種是尾插法,倆種方法大同小異,在此我介紹尾插法。用圖示的方法很好理解。下面是用尾插法建立鍊錶的 struct student int n 記錄存放資料數目 struct student create p2 next null return head 建立過程結束 ...

用C語言簡單實現單鏈表

typedef struct node node,list 單鏈表的初始化 void initlist list plist plist next null 單鏈表的頭插法 該方法從乙個空鍊錶開始,讀取元素val,生成新的結點,將讀取的資料放到新結點的資料域中,然後將該新結點插入到當前鍊錶的表頭上。...