C語言 鍊錶

2021-10-01 14:43:51 字數 1608 閱讀 9921

目錄

1 基本原理

2 鍊錶的基本操作

2.1節點構造

2.2 建立煉表頭

2.3 建立鍊錶並輸入資料

2.4 在煉表頭插入節點

2.5 在鍊錶尾插入節點

2.6 鍊錶排序-值交換

2.7 刪除節點

2.8 釋放鍊錶

2.9 輸出鍊錶

3 博主的閒聊群

鍊錶是一種物理儲存單元上非連續、非順序的儲存結構,資料元素的邏輯順序是通過鍊錶中的指標鏈結次序實現的。鍊錶由一系列結點(鍊錶中每乙個元素稱為結點)組成,結點可以在執行時動態生成。每個結點包括兩個部分:乙個是儲存資料元素的資料域,另乙個是儲存下乙個結點位址的指標域。

節點的構造:

鍊錶的構造:

typedef struct ifodat //資料節點

ifodat;

typedef struct info_node

info_node;

info_node *create_head()

/**建立鍊錶

* */

info_node *create_list(info_node *phead)

}

/**插入節點到鍊錶頭部

* */

list_insert_head(info_node *head,info_node *date_node)

/**插入節點到鍊錶尾部

* */

void list_insert_end(info_node *head,info_node *date_node)

p->next =date_node;

date_node->next = null;

}

/**鍊錶排序

* 值交換 選擇排序

*/ void sort_list(info_node *head)

}

/**刪除某個節點

* */

void delete_list(info_node *head,ifodat ifo)

last->next = p->next;

free(p);

}

void free_list(info_node  *head)

}

/**順序輸出鍊錶

c語言 鍊錶 C語言鍊錶例項 玩轉鍊錶

下圖為最一簡單鍊錶的示意圖 第 0 個結點稱為頭結點,它存放有第乙個結點的首位址,它沒有資料,只是乙個指標變數。以下的每個結點都分為兩個域,乙個是資料域,存放各種實際的資料,如學號 num,姓名 name,性別 和成績 score 等。另乙個域為指標域,存放下一結點的首位址。鍊錶中的每乙個結點都是同...

c語言鍊錶 鍊錶

在儲存一大波數的時候,我們通常使用陣列,但有時候陣列顯得不夠靈活,比如有一串已經從小到大排序好的數 2 3 5 8 9 10 18 26 32 現在需要往這串數中插入6使其得到的新序列仍符合從小到大排列。如果我們使用陣列來實現這一操作,則需要將8和8後面的數字都依次往後挪一位,如果你覺得這幾個數不算...

c語言 鍊錶 C語言之鍊錶入門

鍊錶三要素 1 頭指標 head 是用來說明鍊錶開始了,頭指標就代表鍊錶本身 所以以後要訪問鍊錶,就要訪問頭指標 2 結點 node 鍊錶中每乙個結構體變數 3 尾指標 用來說明鍊錶的結束 它是乙個空指標,null include includetypedef struct stud 定義了乙個結構...