[ C語言生活記事 ] 資料結構 linked list 實作 (1)

本系列文章 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);
}