Maison >interface Web >js tutoriel >Exemple de structure de données de liste chaînée implémentée dans les compétences JavaScript_javascript

Exemple de structure de données de liste chaînée implémentée dans les compétences JavaScript_javascript

WBOY
WBOYoriginal
2016-05-16 16:06:261221parcourir

Cet exemple utilise javascript pour créer une liste chaînée. .
et j'ai réglé ça. .

Peut également être étendu sur la liste chaînée générale GenericList.
Réalisez divers tris et ajoutez, supprimez et modifiez des points de nœud. .

Copier le code Le code est le suivant :

fonction Noeud(){
this.data=null;
this.next=null;
>

fonction GenericList(){
this.head=null;
this.current=null;
//Appuyez sur tous les nœuds de la liste chaînée
this.print= function(){
this.current=this.head;
Tandis que(this.current!=null){
alert(this.current.data);
This.current=this.current.next;
>

},
//Créer une liste chaînée
this.addHead =fonction(t){
       

var node=nouveau Node();
Node.data=t;
        node.next=this.head;
This.head=node;

>

}


fonction SortList(){
//Liste chaînée de tri à bulles
this.BubbleSort=function()
{
Si(this.head==null||this.head.next==null)
{
         revenir ;
>
var échangé ;
faire{
 
This.previous=null;
This.current=this.head;

var swapped=false;
Tandis que(this.current.next!=null)
          {
       
Si(this.current.data-this.current.next.data>0)
            {
       
        var tmp=this.current.next;
This.current.next=this.current.next.next;
         tmp.next=this.current;
Si(this.previous==null)
                {
This.head=tmp;
            }
        autre
               {
This.previous.next=tmp;
           }
This.previous=tmp;
           swapped=true;
                                                                               
>
       autre
            {
                             
This.previous=this.current;
This.current=this.current.next;
                             
>
     
>
     
       
 
} while (échangé);

>

}

SortList.prototype=new GenericList();

(fonction Principale(){
var sl=new SortList();
pour(var i=0;i {sl.addHead(arguments[i]);
>
alert("Liste chaînée non triée");
sl.print();
sl.BubbleSort();
alert("Liste chaînée triée de petite à grande");
sl.print();

})("1","2","3","4")


Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn