一、單鏈表的建立
有了動態內存分配的基礎,要實現鏈表就不難了。
所謂鏈表,就是用一組任意的存儲單元存儲線性表元素的一種數據結構。
鏈表又分為單鏈表、雙向鏈表和循環鏈表等。我們先講講單鏈表。
所謂單鏈表,是指數據接點是單向排列的。一個單鏈表結點,其結構類型分為兩部分:
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]=’
主站蜘蛛池模板:
国产精品专区第二|
国产精品免费网站|
无码精品人妻一区二区三区免费看
|
亚洲精品乱码久久久久久按摩|
国产成人精品免高潮在线观看
|
国产精品一级AV在线播放|
国产区精品一区二区不卡中文|
亚洲精品尤物yw在线影院|
精品精品国产高清a毛片|
久久国产精品久久|
国产精品无码久久综合|
人妻无码久久精品|
狠狠精品干练久久久无码中文字幕
|
精品国产综合区久久久久久|
四虎成人精品免费影院|
国产精品莉莉欧美自在线线|
国产精品久久午夜夜伦鲁鲁|
无码精品久久久久久人妻中字|
亚洲精品无码MV在线观看|
精品一区二区三区在线视频|
久久久久国产精品熟女影院|
精品人妻中文字幕有码在线
|
国产午夜无码精品免费看|
欧美精品黑人粗大|
久久精品国产第一区二区|
精品久久久久中文字|
国产精品无码永久免费888|
国产999精品久久久久久|
99久久精品国产毛片|
亚洲国产精品国自产拍电影|
欧美精品亚洲精品日韩专区va|
亚洲精品欧美日韩|
亚洲精品国产成人专区|
久久精品国产91久久麻豆自制
|
欧洲精品色在线观看|
四虎国产精品永久在线观看|
亚洲AV无码成人精品区在线观看|
亚洲精品无码久久一线|
四虎最新永久在线精品免费
|
亚洲AV永久精品爱情岛论坛|
在线精品亚洲一区二区小说|