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排序,就可以了。