鍊錶的基本操作

2021-07-04 16:42:30 字數 1581 閱讀 9986

內容包括鍊錶的建立,增加、刪除節點,鍊錶的逆序、排序和銷毀等。

[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...