乙個雙向鍊錶的實現

2021-04-16 23:54:30 字數 1328 閱讀 9660

本來是想改改算了,最後變成全部重寫。既然都是自己寫的,也算是原創吧!

struct

node

node(

intval,node 

*nextnode, node 

* priornode):data(val),next(nextnode),prior(priornode){}

};node 

*headnode

=new

node;

node 

*createdlink(node 

* head)

return

(headnode);

}void

listdlink(node 

* head)

cout

<<

endl;

}int

getnodecount(node 

* head)

node 

*getnodebyindex(node 

*head, 

int idx)

}return

null;

}int

getnodevaluebyindex(node 

*head, 

int idx)

node 

*getnodebyvalue(node 

*head, 

int val)

}return

null;

}int

getnodeindexbyvalue(node 

*head, 

int val)

}return-1

;}node 

*insertnode(node 

*posnode, 

int x)

return

newnode;

}node 

*insertnode (node 

*head,

intidx,

int x)

bool

delnode(node 

* delnode)

return

false

;}bool

delnodebyindex(node 

*head, 

int idx)

return

false

;}bool

delnodebyvalue(node 

*head, 

int val)

return

false

;}

自己實現乙個雙向鍊錶

雙向鍊錶和單向鍊錶不同的是雙向鍊錶中不僅有next指向,還有pre這個指向,分別指向了該節點的前乙個節點和後乙個節點,這樣比單向鍊錶操作起來更方便.class twonode public class mylinkedlist 0.求鍊錶長度 public intlength 1.頭插 public...

乙個簡單的雙向鍊錶(C 實現)

直接上 親測有用。ifndef dlink h define dlink h phead index0 index1 index2 phead phead index0 index1 index2 phead phead 不儲存資料。index是從0開始的。count index 1 templat...

乙個雙向鍊錶排序問題

題目 建立乙個長度為n的帶頭結點的雙向鍊錶,使得該鍊錶中的資料元素遞增有序排列。必須使用雙向鍊錶完成,資料型別為整型。思路 根據題目建立好該雙向鍊錶 尾插法 然後用個指標依次查詢,先從第乙個節點往後走,找出最大節點max,再將max和最後乙個元素交換,第一遍結束 即奇數遍正向查詢 第二遍,從最後乙個...