C實現單鏈表的簡單例子

2021-10-08 10:21:25 字數 2094 閱讀 1751

想著回顧一下c的基礎知識,然後看到c的結構體陣列和鍊錶的部分,動手敲了一下,下面附上**

#include

#include

#include

struct s_node

;struct s_node *

create_number

(int n)

for(i=

2;i(n>=1)

return

(head)

;else

return null;

}void

out_list

(struct s_node *head)}}

intmain()

列印如下:

關於c的rand()生成隨機數

引入:

#include #include
寫法:

#include 

#include

#include

intmain()

printf

("\n");

return0;

}

若不設定srand或設定srand(1)的話只會產生相同的隨機數

c頭插法尾插法

#

include

#include

#include

typedef

struct

linknode

*node;

//初始化,建立頭結點

struct

linknode

*linkinit()

//頭插法

void

add(

struct

linknode

*head,

int value)

//尾插法單個數

void

add2

(struct

linknode

*head,

int value)

new->next =

null

; new->value = value;

node->next = new;

}//尾插法插入n個數

void

add21

(node head,

int value)

}/**

* @brief 鍊錶翻**迭代翻轉

* 四種演算法思想實現鍊錶翻轉

* - 迭代翻**該演算法的實現思想非常直接,就是從當前鍊錶的首元節點開始,一直遍歷至鍊錶的最後乙個節點,這期間會逐個改變所遍歷到的節點的指標域,另其指向前乙個節點。

* - 遞迴反轉鍊錶

* - 頭插法反轉鍊錶

* - 就地逆置法反轉鍊錶:就地逆置法和頭插法的實現思想類似,唯一的區別在於,頭插法是通過建立乙個新鍊錶實現的,而就地逆置法則是直接對原鍊錶做修改,從而實現將原鍊錶反轉。

* **/

node fliplist1

(node head)

beg =

null

; mid = head;

end = head->next;

while(1

) beg = mid;

mid = end;

end = end->next;

} head = mid;

return head;

}//輸出

void

outlist

(struct

linknode

*head)

}//釋放

void

link_free

(struct

linknode

*head)

}int

main()

C資料結構 簡單的單鏈表例子

帶頭結點的單鏈表。單鏈表由頭指標唯一確定。head起指向作用,資料域沒有意義。指標涉及到頭 尾 臨時節點 頭插法 臨時節點放在頭部 尾插法 臨時節點放在末尾 include include 定義資料型別別名 typedef int datatype 定義節點的結構體和別名 typedef struc...

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

簡單的實現單鏈表的增刪遍歷操作,還有一些功能需要實現。我感覺難理解的時候畫圖來搞清楚邏輯,先畫個圖比劃就行。author gong single linked list 增 刪 遍歷 include include 從新定義節點的資料域資料型別,以後好修改具體的鍊錶 typedef int data...

單鏈表簡單實現

單鏈表的形式 頭部有個head節點每個節點都向後關聯乙個節點 下面是我的單鏈表的插刪改查和反轉的操作 include include include typedef struct node list define node size sizeof struct node typedef struct...