Advertisement
Guest User

Untitled

a guest
Jun 25th, 2017
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function Listas() {
  2.     var Node = function(elem) {
  3.         this.element = elem;
  4.         this.next = null;
  5.     }
  6.  
  7.     var listSize = 0;
  8.     var cabecera = null;
  9.  
  10.     this.add = function(elem) {
  11.         var node = new Node(elem);
  12.         var nodoActual;
  13.  
  14.         if(!cabecera) {
  15.             cabecera = node;
  16.         } else {
  17.             nodoActual = cabecera;
  18.             while(nodoActual.next) {
  19.                 nodoActual = nodoActual.next;
  20.             }
  21.             nodoActual.next = node;
  22.         }
  23.         listSize++;
  24.     }
  25.  
  26.  
  27.     this.insert = function(element, pos) {
  28.         // Verificamos que la posición exista
  29.         if (pos > -1 && pos < listSize) {
  30.             var node = new Node(element);
  31.  
  32.             var currentNode = cabecera;
  33.             var previousNode;
  34.             var index = 0;
  35.  
  36.             // Primer elemento
  37.             if (pos === 0) {
  38.                 node.next = currentNode;
  39.                 cabecera = node;
  40.             } else {
  41.                 while (index++ < pos) {
  42.                     console.log(index);
  43.                     previousNode = currentNode;
  44.                     currentNode = currentNode.next;
  45.                 }
  46.            
  47.                 node.next = currentNode;
  48.                 previousNode.next = node;
  49.             }
  50.  
  51.             listSize++;
  52.  
  53.             return true;
  54.         }
  55.  
  56.         return false;
  57.     }
  58.  
  59.  
  60.     this.toString = function() {
  61.         var currentNode = cabecera;
  62.         var str = '|';
  63.  
  64.         while(currentNode) {
  65.             str += currentNode.element + '|';
  66.             currentNode = currentNode.next;
  67.         }
  68.         return str;
  69.     }
  70.  
  71.    
  72.  
  73.  
  74. }
  75.  
  76. var listas = new Listas();
  77.  
  78. listas.add(1);
  79. listas.add(2);
  80. listas.add(3);
  81. listas.insert(22, 2);
  82.  
  83. console.log(listas.toString());
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement