內容包括鍊錶的建立,增加、刪除節點,鍊錶的逆序、排序和銷毀等。
[cpp]view plain
copy
#include
#include
typedef
struct
node
node;
//鍊錶的操作,以有頭節點為例,無頭節點類似
node* head = null;
//建立鍊錶,頭結點data=0,pnext=null;
bool
createnodelist()
else
} //增加節點
bool
addnode(node* node)
node* p = head->pnext;
node* q = head;
while
(null != p)
q->pnext = node;
node->pnext = null;
return
true
;
} //刪除節點
bool
deletenode(
intindex)
node* p = head->pnext;
intlength = 0;
while
(null != p)
if(length
else
node* t = p->pnext;
q->pnext = t;
free(p);
return
true
; }
} //逆序
void
reversenodelist()
//如果鍊錶長度為1
if(head->pnext == null)
node* p = head->pnext;
node* q = p->pnext;
node* t = null;
while
(null != q)
head->pnext->pnext = null;
head->pnext = p;
} //排序(降序)
void
sort()
if(phead->pnext == null)
node* pi = phead->pnext;
node* pj = pi->pnext;
for(;pi != null;pi=pi->pnext)
} } }
//銷毀
void
destroynodelist()
if(null == head->pnext)
node* p = head->pnext;
while
(null != p)
free(head);
head = null;
} void
main()
鍊錶的基本操作
include include include include using namespace std struct listnode void initnode listnode node bool isempty listnode head void pushfront listnode hea...
鍊錶的基本操作
鍊錶操作是最基本的 必須掌握的知識點,最好滾瓜爛熟,透徹理解。工作時間短用的也不夠頻繁,還是總結一下比較好,以加強鞏固。1.單鏈表 結點形式 區分幾個概念 首節點 第乙個元素所在節點。頭指標 指向首節點的指標。頭結點 為了操作方便,在第乙個節點之前附設的乙個結點,此時指向頭結點的為頭指標。基本操作 ...
鍊錶的基本操作。。。
include node.h 列印鍊錶 void print node head printf n 從尾部插入 void insert tail node head,const int d while t next null t next p p next null 從頭部插入 void inser...