本系列文章 part1 ~ part3 實作 Linked list 的幾個function
(1) NODE型態的定義
(2) GetNode
(3) FreeNode
(4) FindNode
(5) InsertNode
(6) DeleteNode
(7) ReverseList
(1) Define NODE type
定義一個新的結構型態 NODE ,內含一個int型態的data與指向下一個節點的指標。
typedef struct node
{
int data;
struct node* next;
}NODE;
(2) GetNode
向OS要求一段空間,並使一個指標指向這個空間
NODE* GetNode(void)
{
NODE* ptr = (NODE*)malloc(sizeof(NODE)); // 宣告指標ptr,並指向NODE大小的空間
if(ptr == NULL)
exit(1);
return ptr; //回傳這個空間的指標
}
(3) FreeNode
將傳入指標指向的空間free
void FreeNode( NODE* ptr )
{
free(ptr);
}