酷知百科網

位置:首頁 > 遊戲數碼 > 電腦

C語言版數據結構:[2]鏈表的建立。

電腦2.44W

鏈表其實是線性表的連結存儲方式,這種方式下的存儲單元可以是連續的,也可以是不連續的。這裏我們主要討論鏈表的尾插法,頭插法和尾插法基本類似。座標爲您分享。

操作方法

(01)一、鏈表的建立分爲帶頭結點的頭插法和帶頭結點的尾插法,第一種方法插入順序和輸出順序是相反的。第二種方法插入順序和輸出順序是一致的。這裏我們主要介紹尾插法,頭插法基本類似。

C語言版數據結構:[2]鏈表的建立。

(02)二、首先對頭檔案、數據結構、鏈表結點結構等進行聲明。

(03)#include <stdio.h>#include <stdlib.h>#define null 0typedef struct snode{char *name;char *no;int score[5];}typedefdata;typedef struct node{typedefdata data;struct node *next;}linklist;

(04)三、首先介紹帶頭檔案的尾插法建立鏈表。/*尾插法建立帶頭結點的單鏈表*/linklist *insert_new(){char flag;int x;char *na;char *num;int grade[5];linklist *head,*rear,*p;head = (struct node*)malloc(sizeof(linklist));//頭節點的空間分配rear = head;//頭尾相連進行初始化dowhile(flag != 'q');rear->next = null;return (head);}/*尾插法建立帶頭結點的單鏈表*/

C語言版數據結構:[2]鏈表的建立。 第2張

(05)四、頭插法建立鏈表。頭插法其實與尾插法的最大不同是每次新增的節點都是從head處添加,需要修改的就是for(x=0;x<5;x++)p->e[x] = grade[x];p->next = head->next;head->next = p;printf("nn continue?q for quit!");

(06)五、主函數的編寫。int main(){insert_new();return 0;}

C語言版數據結構:[2]鏈表的建立。 第3張

(07)六、測試我們只測試尾插法。

C語言版數據結構:[2]鏈表的建立。 第4張
C語言版數據結構:[2]鏈表的建立。 第5張
C語言版數據結構:[2]鏈表的建立。 第6張

特別提示

鏈表的建立並不複雜,需要注意的是內存申請的語句形式p = (struct node*)malloc(sizeof(linklist));