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