Heim  >  Artikel  >  Web-Frontend  >  Erstellen Sie eine verknüpfte Liste mit js-Objekten

Erstellen Sie eine verknüpfte Liste mit js-Objekten

高洛峰
高洛峰Original
2016-10-08 14:57:091066Durchsuche

//Das Folgende ist eine verknüpfte Listenklasse

Funktion LinkedList(){


//Node stellt das Element dar, das der Liste hinzugefügt werden soll
var Node= function(element){

<br/>

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

var length=0;//Speichert die Nummer von Listenelementen
var head=null; //head speichert einen Verweis auf den ersten Knoten

//Elemente an das Ende der verknüpften Liste anhängen
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 ;
};


//Ein Element an einer beliebigen Position in der verknüpften Liste einfügen
this.insert=function(position,element){

if(position>=0&&positionc450b6cb3f6f8c5d573b6fbd5d1f9d17-1 && position var current=head,
previous,
index=0;

if(position===0){
>   }
   previous.next=current.next;

  }

 length--;

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

//Return die Position des Elements in der verknüpften Liste
this.indexOf=function(element){
 var current=head,
index=-1;

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

return -1;
};


//Ein Element entfernen
this.remove=function(element) {
 var index=this.indexOf(element);
 return this.removeAt(index);
};

//Beurteilen Sie, ob die verknüpfte Liste leer ist

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

//Die Länge der verknüpften Liste zurückgeben
this.size=function(){
return length ;

};


//Das LinkedList-Objekt in einen String konvertieren

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



Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn