建立乙個鍊錶

2021-08-25 17:38:33 字數 2212 閱讀 1802

不知道為什麼總是忘了對鍊錶的操作, 主要就是平時用的少, 希望自己通過寫這編文章能加深對鍊錶操作的印象

目錄1.首先得要有兩個基本的標頭檔案

2.再然後得要有個結構體

3. 這部分是函式前置宣告

4.鍊錶初始化

5.插入節點

6.列印整個鍊錶

7. 釋放整個鍊錶的記憶體

8.整個程式示例

9.列印結果

#include//用於scanf, printf 標準輸入輸出

#include//用於malloc, free 記憶體申請及釋放

乙個節點就像火車的一節車廂, data是車廂裡面的東西, next相當於乙個鉤子, 用於將車廂之間的連線起來

typedef struct node          //typedef 用於取struct node 的別名

*pnode, node; // pnode 就是 struct node * , node就是 struct node

pnode init();                           //鍊錶初始化

void insert(pnode head, int newdata); //插入節點

void print(pnode head); //列印整個鍊錶

void freeallnode(pnode head); //釋放整個鍊錶的記憶體

定義乙個節點, 其在整個鍊錶操作中都不儲存資料, 比較特殊, 與head直接相連

插入節點有兩種方式: 1是頭插, 2是尾插

先看頭插

再看尾插

鍊錶的列印只能從head開始遍歷, 不能像陣列可以使用下標那麼便利

void print(pnode head)

printf("null\n");

}

void freeallnode(pnode head)

}

#include#includetypedef struct node

*pnode,node;

void insert(pnode head, int newdata);

void print(pnode head);

pnode init();

void freeallnode(pnode head);

int main()

pnode init()

void insert(pnode head,int newdata)

void print(pnode head)

printf("null\n");

}void freeallnode(pnode head)

}

9->8->7->6->5->4->3->2->1->0->null

請按任意鍵繼續. . .

建立乙個python鍊錶

鍊錶是一種由一系列節點組成的資料結構,每個節點都有指向下個節點的指標。這種結構就不需要連續的記憶體去儲存,但只要找到起始節點 頭節點 整個鍊錶的資料都可以被依次訪問。在python3中,建立鍊錶的過程可以粗略分為定義單節點,定義空鍊錶,向空鍊錶填充資料幾個步驟 來自定義單節點 class node ...

逆序建立乙個鍊錶

本題要求實現乙個函式,按輸入資料的逆序建立乙個鍊錶。函式介面定義 struct listnode createlist 函式createlist利用scanf從輸入中獲取一系列正整數,當讀到 1時表示輸入結束。按輸入資料的逆序建立乙個鍊錶,並返回煉表頭指標。鍊錶節點結構定義如下 struct lis...

鍊錶(一) 建立乙個最基本的單向鍊錶

1.結點 鍊錶中用來儲存乙個資料的儲存單元。乙個鍊錶至少需要由兩部分組成,就是資料域和指標域,一般形式的結點定義為 struct node typedef struct node elemsn 以上兩步等價於 typedef struct node elemsn 2.使用指標變數p表示結點的成員 p...