線性表 帶頭結點單鏈表的實現

2021-06-21 23:55:43 字數 1375 閱讀 4951

/*

帶頭結點的單鏈表

vs2010 除錯

*/#include #include #include typedef struct linknode

;//獲得鍊錶長度

int get_length(struct linknode *l)

while(trace->next != null)

return length;}/*

插入節點

向pos的位置插入值為num的節點

*/int insert_linklist(struct linknode *l, int num, int pos)

tmp_node = (struct linknode *)malloc(sizeof(struct linknode));

tmp_node->num = num;

tmp_node->next = null;

while(pos != 0)

tmp_node->next = trace->next;

trace->next = tmp_node;

return 1;}/*

刪除pos位置的結點鍊錶

*/int delete_linklist(struct linknode *l, int pos)

while(--pos != 0)

p = trace->next;

trace->next = p->next;

free(p);

return 1;}/*

搜尋值為num的節點在鍊錶中的位置

返回值: -1 搜尋失敗; >-1 num的位置

*/int search_linklist(struct linknode *l, int num)

if((head = head->next) == null)

pos++;

} return pos;}/*

更新pos位置的節點值為num,原值存入num裡

*/int update_linklist(struct linknode *l, int pos, int *num)

while(pos-- > 0)

tmp = trace->num;

trace->num = *num;

*num = tmp;

return 1;}/*

列印鍊錶元素

*/void print_linklist(struct linknode *l)

printf("\n");}/*

初始化鍊錶

*/struct linknode *init_link_list()

int main(int argc, char *argv)

單鏈表(帶頭結點)

按照自己的想法和思路寫了一下帶頭結點的單鏈表,並進行了測試,畢竟自己能力有限,可能有的地方沒有測試到,還可能存在一些潛在的錯誤。標頭檔案 include using namespace std typedef struct node node,link typedef struct list lis...

單鏈表 帶頭結點

typedef struct lnodelnode,linklist 頭插法 linklist list headinsert linklist l returnl 尾插法 linklist list tailinsert linklist l r next null 尾結點指標置空 returnl...

線性表之鍊錶的實現(一) 單鏈表帶頭結點實現

本文針對單鏈表,總結其相應的常用操作。主要是給出 實現。common.h ifndef common h define common h 函式結果狀態碼 define true 1 define false 0 define ok 1 define error 0 define infeasible...