我們先實現乙個簡單的單鏈表的可新增資料和列印資料
#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,生成新的結點,將讀取的資料放到新結點的資料域中,然後將該新結點插入到當前鍊錶的表頭上。...