>  기사  >  웹 프론트엔드  >  js 객체를 사용하여 연결 목록 만들기

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

高洛峰
高洛峰원래의
2016-10-08 14:57:091030검색

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

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&&positionc82c66e47b4f1df96ae866fc2b673e73-1 && 위치<길이){
var current=head,
이전,
index=0;

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

while(index 이전=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(){
길이 반환 ;
};

//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());



성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.