c語言實現單鏈表

2021-07-30 11:36:20 字數 2661 閱讀 4821

使用c語言完成單鏈表的建立刪除插入等操作

/**

* @filename danlianbiao.c

* @author haohaibo

* @data 2017/4/11

* @brief 單鏈表操作,包括插入,刪除,修改,反轉

**/#include #include #include #define n 32

typedef int datatype;

int checkresult[n]; //用來存放查詢結果,查詢結果為整型。

typedef struct nodelinklist_t;

/** * @brief 獲取節點個數

*/ int linklist_count(linklist_t *header)

return count;

}/**

* @brief 檢查鍊錶是否為空

*/ int linklist_null(linklist_t *header)

/** * @brief 建立乙個煉表頭節點

*/linklist_t *linklist_creat()

bzero(h, sizeof(struct node));

h->next=null;

return h;

}/**

* @brief 從鍊錶頭部插入新節點

*/int linklist_insert_header(linklist_t *header,datatype value)

bzero(insertnode, sizeof(struct node));

insertnode->data=value;

insertnode->next=header->next;

header->next=insertnode;

return 0;

}/**

* @brief 從鍊錶尾部插入新節點

*/int linklist_insert_tail(linklist_t *header,datatype value)

bzero(insertnode, sizeof(struct node));

insertnode->data=value;

while(header->next!=null)

header=header->next;

header->next=insertnode;

insertnode->next=null;

return 0;

}/**

* @brief 根據位置插入新節點

*/ int linklist_insert_pos(linklist_t *header,int pos,datatype value)

linklist_t * insertnode;

insertnode=(linklist_t *)malloc(sizeof(linklist_t));

while(pos--)

header=header->next;

insertnode->data=value;

insertnode->next=header->next;

header->next=insertnode;

return 0;

}/**

* @brief 根據資料順序插入新節點

*/ int linklist_insert_shunxu(linklist_t *header,datatype value)

/** * @brief 從鍊錶頭部刪除節點

*/datatype linklist_del_header(linklist_t *header)

/** * @brief 從鍊錶尾部刪除節點

*/datatype linklist_del_tail(linklist_t *header)

/** * @brief 根據資料修改節點內的資料

*/void linklist_rev_data(linklist_t *header,datatype dataold,datatype datanew)

}/**

* @brief 根據資料查詢節點內的位置

*/int *linklist_check_pos(linklist_t *header,datatype data)

return checkresult;

}/**

* @brief 根據倒數字置查詢節點內的資料

*/datatype linklist_check_pos_t(linklist_t *header,int pos)

count++;

while(count--)

header=header->next;

return (datatype)header->data;

}/**

* @brief 鍊錶返轉

*/ int linklist_reversal(linklist_t *header)

return 0;

}/**

* @brief 列印鍊錶內的資料

*/void linklist_show(linklist_t *p)

}int main(void)

putchar(10);

}

c語言實現單鏈表

一 使用簡介 使用c語言實現了單鏈表的基本操作,共有四個檔案,兩個標頭檔案是常用的,後兩個分別是主函式,和對鍊錶的基本操作函式,倒入時候,須將四個檔案放在同乙個目錄下。二 心得 在書寫過程中,主要錯誤集中在指標的使用上,通過此次程式設計,對於指標的認識更加深刻,頭結點的存在,更大意義上是為了簡化指標...

C語言實現單鏈表

單鏈表可以說是基礎,有利於對指標的使用 結點 typedef int datatype typedef struct slistnode slistnode 實現的函式的宣告如下 slistnode buynode datatype x void printslist slistnode phead...

C語言實現單鏈表

dev c 編譯執行通過,實現了單鏈表的構建,清空,插入,刪除和查詢。include include include include include define ok 1 define error 0 typedef int elemtype typedef struct node node ty...