java链表,命令打印两个数组

时间:2015-09-17 07:39:27

标签: java list

我想帮助我,我正在使用这种方法显示与节点链接的列表,我偶然发现列表按顺序打印,因为他们被承认不知道怎么做,可能会在两个数组中排序感谢他们拥有相同指数的时间,谢谢

* @author Deibis
 */
public class ListasEnlazadas {

     private int dato;
     private int puntero;
     private int L;
     private int disponible;
     private int[] Datos= new int[20];
     private int[] Next= new int[20];

     public ListasEnlazadas(){
         this.disponible=0;
         this.L=-1;
         this.puntero=1;
     }

     public void InsertarElemento(int dato)
     {
        if(disponible<Datos.length)
        {
          Datos[disponible]=dato;
          Next[disponible]=puntero;
          disponible= puntero++;

        }
     }

     public void EliminarElemento(int Elemento)throws Exception
     {
         int posDato=-1;
         for (int i = 0; i < Datos.length; i++) {
             if(Datos[i]==Elemento){
                 posDato=i;
                 Datos[i]=0;
                 disponible=i;
                 Next[i]=-1;
                 break;
             }
         }
         if(posDato==-1)throw new Exception("NOT ELEMENT IN TO LIST");
         else System.out.println("ELEMENT DELETE TO LIST");
     }

     public void MostrarElementos()
     {
         for (int i = 0; i < Next.length; i++) {
             System.out.println("DATO : "+ Datos[i] + "  SIGUIENTE : " + Next[i]);
         }
         System.out.println("Dato["+disponible+"]");  

         // METHOD PARA ORDENAR 
         // FROM
           /* DATO : 12  SIGUIENTE : 1
            DATO : 13  SIGUIENTE : 2
            DATO : 90  SIGUIENTE : 6
            DATO : 20  SIGUIENTE : 4
            DATO : 50  SIGUIENTE : 5  */

         //TO 

         /* DATO : 12  SIGUIENTE : 1
            DATO : 13  SIGUIENTE : 2
            DATO : 20  SIGUIENTE : 4
            DATO : 50  SIGUIENTE : 5
            DATO : 90  SIGUIENTE : 6  */
     }

}

1 个答案:

答案 0 :(得分:0)

您可以使用Arrays.sort方法将数组按数字升序排序。

但是我真的建议为此创建一个类。

public class Elemento implements Comparable<Elemento> {
    public int Dato;
    public int Siguiente;

    public Elemento(int dato, int siguiente) {
         this.Dato = dato;
         this.Siguiente = siguiente;
    }
    @Override
    public int compareTo(Elemento compare) {
        return this.Siguiente - compare.Siguiente;
    }   
}

创建一个包含这些对象的数组。使用Arrays.sort方法将比较Siguiente进行排序。 或者,如果您制作List,请使用Collections.sort方法。