*/
Dare.LinkedList = function () {
this.head = null; this.current = null;
this.tail = null;
this.length = 0
Dare.extend(Dare.LinkedList, Dare); >* 테일 보간 방법은 노드를 추가합니다
*/
Dare.LinkedList.prototype.appendNode = function (node) {
if (this == null)
if (node == null) return;
var tail = this.tail;
if (tail == null) {
this.tail = this.head = node
else {
tail.next = 노드;
node.prev = tail;
this.length
}; node
*/
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 (노드 == this.head) {
this.head = node. next;
}
//Tail 노드
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 (노드 == null || obj == null) return;
node.data =
return node;
/*
* 노드 데이터 가져오기
*/ 🎜>Dare.LinkedList.prototype.getNodeData = 함수(노드) {
if (노드 == null) return
return node.data
/*
* 처음부터 시작
*/
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 node = this.current
this.current = this.current.next;
};
/*
* 이전 노드
*/
Dare.LinkedList.prototype.prevNode = function () {
if (this == null) return; >if (this.current == null) return
var node = this.current;
return node
/*
* 연결된 목록이 비어 있는지 여부
*/
Dare.LinkedList.prototype.isempty = function () {
if (this == null) return
if (this. head == null) {
return true;
}
else {
return false
}
}
/*
* 연결 목록 길이
*/
Dare.LinkedList.prototype.getLength = function () {
if ( this == null) return
return this.length;
/*
* 연결된 목록 지우기
*/
Dare.LinkedList.prototype.clearList = function () {
this.head.next = null
this.head = null; ;
/*
* 노드 존재 여부
*/
Dare.LinkedList.prototype.containsNode = function (obj) {
if (this == null) return false; var node = list.head;
if (node == null) return false
while ( node != null) {
if (node.data == obj) {
return true;
}
node = node.next;
}
}
실제 호출 사용 사례 코드가 차례로 업데이트됩니다.
코드 복사
코드는 다음과 같습니다.