1.可以雙向查詢
1.結構較單向鍊錶複雜。
2.占用記憶體比單項鍊表多。
//屬性
this
.head =
null
this
.tail =
null
this
.length =
0 doublylinkedlist.prototype.
=function
(data)
else
this
.length++
}//2.將鍊錶轉化成字串形式
// 2.1 tostring
doublylinkedlist.prototype.
tostring
=function()
// 2.2 forwardstring
doublylinkedlist.prototype.
forwardstring
=function()
return resultstring
}// 2.3 backwardstring
doublylinkedlist.prototype.
backwardstring
=function()
return resultstring
}// 3.insert方法
doublylinkedlist.prototype.
insert
=function
(position, data)
else
elseif(
this
.length == position)
else
node.prev = current.prev
node.next = current
current.prev.next = node
current.prev = node
}}this
.lengt++
}//4. get方法
doublylinkedlist.prototype.
get=
function
(position)
return current.data
}else
return current.data
}}// 5. indexof 方法
doublylinkedlist.prototype.
indexof
=function
(data)
current = current.next
index++
}return-1
}// 6.updata方法
doublylinkedlist.prototype.
updata
=function
(position,data)
current.data = data
return
true
}// 7.removeat方法
doublylinkedlist.prototype.
removeat
=function
(position)
else
else
if(position ==0)
else
current.prev.next = current.next
current.next.prev = current.prev
}}this
.length--
return current
}// 8.remove方法
doublylinkedlist.prototype.
remove
=function
(data)
// 9.isempty方法
doublylinkedlist.prototype.
isempty
=function()
// 10.size方法
doublylinkedlist.prototype.
size
=function()
//11.獲取鍊錶第乙個元素
doublylinkedlist.prototype.
gethead
=function()
//12.獲取鍊錶最後元素
doublylinkedlist.prototype.
gettail
=function()
}
js描述的 資料結構 雙向鍊錶 5
1.可以雙向查詢 1.結構較單向鍊錶複雜。2.占用記憶體比單項鍊表多。屬性 this head null this tail null this length 0 doublylinkedlist.prototype.function data else this length 2.將鍊錶轉化成字串...
資料結構 鍊錶 雙向鍊錶
注意typedef的定義結構,以及dinklist的資料型別 typedef struct dnode dnode,dinklist 注意插入第乙個結點時,prior指標的空指向問題 if l next null 若l後繼結點為空 則省略該步驟 l next prior p 基本 頭插法建立雙向鍊錶...
資料結構 雙向鍊錶
前幾天寫了乙個單向鍊錶,今天參考自己單向鍊錶改寫了乙個雙向非迴圈鍊錶,下面只討論雙向非迴圈鍊錶。雙向非迴圈鍊錶有如下特點 一 雙向鍊錶每個結點都有乙個前驅指標和後驅指標 當然頭結點和尾結點除外 二 雙向鍊錶中的任意乙個結點開始,都可以很方便地訪問它的前驅結點和後繼結點。三 頭結點只有後驅指標沒有前驅...