一、單鏈表的建立
有了動態內存分配的基礎,要實現鏈表就不難了。
所謂鏈表,就是用一組任意的存儲單元存儲線性表元素的一種數據結構。
鏈表又分為單鏈表、雙向鏈表和循環鏈表等。我們先講講單鏈表。
所謂單鏈表,是指數據接點是單向排列的。一個單鏈表結點,其結構類型分為兩部分:
1、數據域:用來存儲本身數據
2、鏈域或稱為指針域:用來存儲下一個結點地址或者說指向其直接后繼的指針。
例:
typedef struct node
{
char name[20];
struct node *link;
}stud;
這樣就定義了一個單鏈表的結構,其中char name[20]是一個用來存儲姓名的字符型數組,指針*link是一個用來存儲其直接后繼的指針。
定義好了鏈表的結構之后,只要在程序運行的時候愛數據域中存儲適當的數據,如有后繼結點,則把鏈域指向其直接后繼,若沒有,則置為NULL。
下面就來看一個建立帶表頭(若未說明,以下所指鏈表均帶表頭)的單鏈表的完整程序。
#include <stdio.h>
#include <malloc.h> /*包含動態內存分配函數的頭文件*/
#define N 10 /*N為人數*/
typedef struct node
{
char name[20];
struct node *link;
}stud;
stud * creat(int n) /*建立單鏈表的函數,形參n為人數*/
{
stud *p,*h,*s; /* *h保存表頭結點的指針,*p指向當前結點的前一個結點,*s指向當前結點*/
int i; /*計數器*/
if((h=(stud *)malloc(sizeof(stud)))==NULL) /*分配空間并檢測*/
{
printf(“不能分配內存空間!”);
exit(0);
}
h->name[0]=’
主站蜘蛛池模板:
永久免费精品影视网站|
国内精品久久久久|
国产精品成人va|
亚洲天堂久久精品|
精品一区二区三区在线观看视频|
国产在视频线精品视频二代|
国产精品第六页|
亚洲国产精品无码中文字|
国产精品久久久99|
久久99久久99小草精品免视看|
欧美激情精品久久久久久久九九九|
精品视频无码一区二区三区|
亚洲精品成a人在线观看|
国产系列高清精品第一页|
久久精品视频网|
伊人精品视频在线|
热综合一本伊人久久精品
|
国产精品免费一区二区三区四区|
亚洲国产精品自在在线观看|
国产精品亲子乱子伦xxxx裸|
尤物yw午夜国产精品视频|
欧美一区二区精品久久|
在线精品亚洲|
欲帝精品福利视频导航|
亚洲一二成人精品区|
2020国产精品永久在线|
日本伊人精品一区二区三区|
亚洲欧美精品AAAAAA片|
日韩精品成人亚洲专区|
久久精品国产一区二区三区不卡|
国产精品视频一区二区三区四|
国产欧美精品区一区二区三区|
久久99久久99精品免视看动漫|
国产高清一级毛片精品|
国产69精品久久久久99|
精品国产VA久久久久久久冰|
久久亚洲私人国产精品vA|
欧美精品亚洲精品日韩传电影|
久久激情亚洲精品无码?V|
久久精品国产秦先生|
国产在线精品网址你懂的|