想著回顧一下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...