單鏈表是一種非常重要的資料結構,下面用c語言對單鏈表的操作做乙個簡單的總結:
typedef struct nodenode,*linklist;
1、單鏈表的建立:
建立乙個單鏈表,鍊錶裡面存放有十個偶數(2到20),有頭節點,頭節點不存放元素。
linklist createlinklist()
return head;
}
2、列印這個鍊錶除了頭節點以外的全部元素。
void printlist(linklist head)
}
3、在這個鍊錶中插入乙個節點,分別完成下面兩種情況:
(1)在第n個元素的後面插入這個節點,如果n的值大於鍊錶節點的個數,則將要插入的節點插入到鍊錶的最後。
(2)在元素值為n的節點後面插入新節點,若沒有元素n,則將此節點插入到鍊錶的最後。
情況(1):
void insertnode(linklist head, node *p, int n)
if( n >= i)
else
p->next = q->next;
q->next = p;
}}
情況(2)
void insertnode(linklist head, node*p, int n)
else
}
4、鍊錶的逆置(reverse)
分兩種情況
情況(1):要求頭節點不進行逆置
情況(2):頭節點進行逆置,演算法執行結束之後頭節點在鍊錶的結尾。
情況(1)的**如下:
void reverse(linklist head)
}
情況(2)的**如下:
linklist reverse(linklist head)
return new_head;
}
單鏈表的操作
1.定義單鏈表的介面函式 ifndef linklist h define linklist h typedef int elemtype typedef struct node node node initnode bool addnode node head,elemtype data 頭插法 ...
單鏈表的操作
pragma once extern c list node,list link 頭插建立鍊錶 list link create list head int n 尾插法建立鍊錶 list link creat list tail int n 獲取長度 int get list length list...
單鏈表的操作
單鏈表的頭插法 尾插法 遍歷 初始化 在位置i前插入元素 刪除位置i處的元素 include include typedef int itemvalue typedef struct node 鍊錶節點定義 linknode,plinknode 初始化單鏈表 void initiallinklist...