ホームページ  >  記事  >  ウェブフロントエンド  >  jsオブジェクトを使用してリンクリストを作成する

jsオブジェクトを使用してリンクリストを作成する

高洛峰
高洛峰オリジナル
2016-10-08 14:57:091717ブラウズ

//以下はリンクリストクラスです

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;

}else{
current=node;

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

current.next=node;

}

length++;
};

//任意の位置に要素を挿入リンクされたリスト内の位置
this.insert=function (position,element){
if(position>=0&&position<=length){

var node=new Node(element),
current=head,
previous,
index =0;

if(position=== 0){
head=node;

}else{
while(index previous=current;
previous.next=node;
index++;
}
node.next= current;
function(position){
if(position>-1 &&position var current=head,
previous,
index=0;

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

while(index previous=current;

current=current.next;
index++;
}
previous.next=current.next;

}

length--;

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

//リンクされたリスト内の要素の位置を返す
this.indexOf=function(element){
var current=head,
index=-1;
U While (Current) {
if (element === Current.element) {
Return Index;
Index ++
Current = Current.next;要素を削除する
this.remove=function(element){
varindex=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;
}

戻り文字列;

};

};

var list=new LinkedList();

list.append(15);

list.append(10);
list.insert(1,11);
list .removeAt (2)
console.log(list.size());

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。