C 語言單鏈表的實現(簡單實現)

2021-09-01 05:57:59 字數 1213 閱讀 6972

簡單的實現單鏈表的增刪遍歷操作,還有一些功能需要實現。我感覺難理解的時候畫圖來搞清楚邏輯,先畫個圖比劃就行。

// @author:gong

// @single linked list

// @ 增、刪、遍歷

#include#include/*從新定義節點的資料域資料型別,以後好修改具體的鍊錶*/

typedef int data_type;

typedef struct node* node_p;

/*定義乙個鍊錶的節點結構體,關鍵有資料域和指標域*/

struct node;

/*建立乙個鍊錶,關鍵是建立乙個頭節點*/

node_p create_list()

/*建立乙個鍊錶的節點,也就是開闢乙個記憶體空間儲存節點的資料*/

node_p create_list_node(data_type data)

/*在鍊錶的頭部增加值*/

void insert_node_by_head(node_p list, data_type data)

/*在鍊錶的尾部增加值*/

void insert_node_by_last(node_p list, data_type data)

ptr->next = new_node;

new_node->next = null;

} /*在鍊錶的指定位置增加值*/

void insert_node_by_pos(node_p list, data_type data,data_type pos)

} new_node->next = after_node;

before_node->next = new_node;

}/*在鍊錶的指定引數位置刪除,這裡只是以值來判斷*/

void delete_node_by_pos(node_p list, data_type pos)

} before_node->next = after_node->next;

free(after_node);

}/*在鍊錶的頭部刪除*/

node_p delete_node_by_head(node_p list)

/*列印鍊錶的具體值,遍歷操作*/

void print_list(node_p list)

printf("\n");

}int main(void)

用C語言簡單實現單鏈表

typedef struct node node,list 單鏈表的初始化 void initlist list plist plist next null 單鏈表的頭插法 該方法從乙個空鍊錶開始,讀取元素val,生成新的結點,將讀取的資料放到新結點的資料域中,然後將該新結點插入到當前鍊錶的表頭上。...

單鏈表實現 C語言

單鏈表分為帶頭結點和不帶頭結點。頭結點是和普通結點一樣,有資料域,指標域。資料域存放鍊錶結點的個數,指標域存放指向鍊錶的指標。不帶頭結點是指煉表有乙個單純的指標,指向鍊錶,不儲存資料。pragma once ifndef linklist h 防止標頭檔案重複引用 define linklist h...

C語言單鏈表實現

今天分享一下單鏈表 有空頭 的一些操作!主要呢就是增 刪 列印!單鏈表可以比喻成一趟火車,有空頭的單鏈表就像是乙個火車頭拉著一節有一節的車廂。乙個車廂中有資料域和指標域,指標域用來連線,每節車廂肯定要有東西連著,不然就沒有方向了。如圖 所以連線的時候只要將指標域指向下乙個節點就是連線上了,然後刪除呢...