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
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. .
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
>
alert("Liste chaînée non triée");
sl.print();
sl.BubbleSort();
alert("Liste chaînée triée de petite à grande");
sl.print();