/*
帶頭結點的單鏈表
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...