java链表,订购两个要打印的数组

java链表,订购两个要打印的数组,java,list,Java,List,我想帮助我,我正在使用这个方法来显示与节点链接的列表,我无意中按顺序打印了列表,因为他们被承认不知道怎么做,可能是一次排序两个数组,因为它们具有相同的索引,谢谢 * @author Deibis */ public class ListasEnlazadas { private int dato; private int puntero; private int L; private int disponible; private int[]

我想帮助我,我正在使用这个方法来显示与节点链接的列表,我无意中按顺序打印了列表,因为他们被承认不知道怎么做,可能是一次排序两个数组,因为它们具有相同的索引,谢谢

* @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  */
     }

}
*@author Deibis
*/
公共类ListasEnlazadas{
达托私人酒店;
普特罗私人酒店;
私人国际图书馆;
私人内部可争议;
私有整数[]Datos=新整数[20];
私有整数[]下一个=新整数[20];
公共列表Asenlazadas(){
this.disposible=0;
这个。L=-1;
这个。puntero=1;
}
公共空间插入关系(内部数据)
{

if(disposible您可以使用
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;
    }   
}
公共类Elemento实现了可比较的{
公共国际拿督;
公共国际标志;
公共元素(国际达托、国际西格恩特){
这个.Dato=Dato;
this.Siguiente=Siguiente;
}
@凌驾
公共整数比较(元素比较){
返回这个.Siguiente-compare.Siguiente;
}   
}
创建一个包含这些对象的数组。使用
Arrays.sort
方法将比较Siguiente对其进行排序。
或者,如果您制作了一个
列表
,请使用
Collections.sort
方法。

您能否为我们提供一个小的运行示例,以便我们能够重建您正在尝试的内容achive@KevinEsche在方法MostrarElementos中的代码末尾,是我所做的一个示例,我想在两个数组同时排序,然后以y的方式打印你想排序吗?@Joel先生如果
DATO
的值是可能的最高值,比如你的例子中的90,那么
SIGUIENTE
在这种情况下也会提供最高值吗?不管它是否比较,只需在这种情况下订购一个结算,如下安排?这使得该方法比所描述的要高,因为它引用的是si使用两个数组的ngle数组并不理想。如果在其中一个数组上出现一个值不止一次,它将进行排序,而不是像它应该的那样进行排序,因为它链接到另一个值。如果重复,没有问题,因为我想按数组数据中允许的顺序打印,为此,我参考以下安排,两者构成链表中的一个节点,我建议使用一种方法使其与我想象的不同?排序后,所有索引都不同,因此不可能知道索引是什么,预排序。只需使用我建议的类,将
compareTo更改为
方法,按Dato排序,就可以了。