js 객체를 사용하여 연결 목록 만들기

高洛峰
풀어 주다: 2016-10-08 14:57:09
원래의
1721명이 탐색했습니다.

//다음은 연결리스트 클래스입니다

function LinkedList(){


//Node는 목록에 추가할 항목을 나타냅니다
var Node= function(element){

<br/>
로그인 후 복사

This.element=element;
this.next=null;
};

var length=0;//숫자 저장 목록 항목 중
var head=null; //head는 첫 번째 노드에 대한 참조를 저장합니다

//연결된 목록의 끝에 요소를 추가합니다
this.append=function( element){
 var node =new Node(element),
Current;

if(head===null){
head=node

 while( current.next){
  current=current.next;
  }

 current.next=node;

 }

length++;
};


//연결된 목록의 임의 위치에 요소 삽입
this.insert=function(position,element){

if(position>=0&&position< =length){

<br/> var node=new Node(element),<br/> current=head,<br/> 이전,<br/> index=0;<br/><br/> if(position=== 0){<br/> node.next=current;<br/> head=node;<br/><br/> }else{<br/> while(index-1 && position var current=head,
이전,
index=0;

if(position===0 ){
Head=current.next;
}else{

while(index Previous=current;
>   }
  previous.next=current .next;

  }

 length--;

  return current.element;
 }else{
return null;
 }
};

//연결리스트의 요소 위치를 반환합니다
this.indexOf=function(element){
 var current=head,
index=-1;

while(current){
if(element===current.element){
return index;
}
index++;
current= current.next;
}

return -1;
};


//요소 제거
this.remove=function(element) {
 var index=this. indexOf(element);
 return this.removeAt(index);
};

//연결된 리스트가 비어 있는지 판단

this .isEmpty=function(){
 return length===0;
};

//링크드 리스트의 길이를 반환합니다

this.size=function(){
return length ;
};

//LinkedList 객체를 문자열로 변환

this.toString=function(){

 var current=head,

 string=" ";

while(current){

string=current.element;

current=current.next;
}
return string;
};

};

var list=new LinkedList();
list.append(15);
list.append(10);
list.insert(1,11)
list. RemoveAt(2)
console.log(list.size());



관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿