Dare.extend(Dare.LinkedList, Dare); >* テール補間メソッドはノードを追加します
*/
Dare.LinkedList.prototype.appendNode = function (node) {
if (this == null) return;
if (node == null) return;
var tail = this.tail;
if (tail == null) {
this.tail = this.head = ノード;
else {
tail.next = ノード;
ノード.prev = テイル;
}
this.length ;
/*
*ノード
*/
Dare.LinkedList.prototype.moveNode = function (node) {
if (this == null) return;
if (node == null) return; >//中間ノード
var prev = node.prev;
if (prev != null) {
prev.next = node.next>}
if (node.next ! = null) {
node.next. prev = prev;
}
//ヘッドノード
if (node == this.head) {
this.head = ノード。 next;
}
//テールノード
if (node == this.tail) {
if (prev != null) {
this.tail = prev; >}
else {
this.head = this .tail;
}
node.prev = null;
node.next = null; --;
};
/*
* ノードを構築します
*/
Dare.LinkedList.prototype.constructNode = function (node, obj) {
if (node == null || null) return;
ノード;
/*
* ノードデータを取得します。 🎜>Dare.LinkedList.prototype.getNodeData = function (node) {
if (node == null) return;
/*
* 最初から始める
*/
Dare.LinkedList.prototype.start = function () {
if (this == null) return;
return this.current = this.head; >};
/*
* 末尾から開始
*/
Dare.LinkedList.prototype.end = function () {
if (this == null) return; >return this.current = this.tail;
/*
* 次のノード
*/
Dare.LinkedList.prototype.nextNode = function () {
if (this == null) return;
if (this.current == null) return
var ノード = this.current;
this.current = this.current.next;
};
/*
* 前のノード
*/
Dare.LinkedList.prototype.prevNode = function () {
if (this == null) return; >if (this.current == null) return
var ノード = this;
return ノード;
;
* リンクされたリストが空かどうか
*/
Dare.LinkedList.prototype.isempty = function () {
if (this == null) return true;
if (this. head == null) {
return true;
}
else {
return false;
}
* リンクされたリストの長さ
*/
Dare.LinkedList.prototype.getLength = function () {
if (this == null) return;
/* * リンクされたリストをクリアします
*/
Dare.LinkedList.prototype.clearList = function () {
this.head.next = null;
this.head = null; ;
/*
* ノードが存在するかどうか
*/
Dare.LinkedList.prototype.containsNode = function (obj) {
if (this == null) return
var node = list.head;
if (node == null) return false;
while (node != null) {
if (node.data == obj) {
return true;
}
node = node.next;
}
}
実際の呼び出しユースケースのコードは次のように更新されます。 >
コードをコピーします
コードは次のとおりです: