Bueno, estoy tratando de hacer un programa sencillo que permite llenar un vector de 10 elementos y luego ordenarlos mediante un método, este ordenamiento debe de ser del INTERCAMBIO. Todo está bien hasta que llego al momento en el que creo un método que permita realizar el intercambio. Cuando lo compilo y lo interpreto, puedo llenar los datos, pero al final, al mostrarme los resultados, no se ordena. Tal vez hay algo que no me doy cuenta y que está fallando, espero por favor que alguien me ayude a encontrar el error y así poder corregirlo, de paso que aprendo a realizar el paso de parámetros por referencia (o pseudoreferencia al estilo de C)
Ahí va mi código:
Código:
import java.util.*;
public class Arreglo2 {
public static void main(String [] args) {
int [] p;
p= new int[10];
llenaVector(p);
muestraVector(p);
}
public static void llenaVector(int [] x) {
Scanner lee=new Scanner(System.in);
int i;
System.out.println("A continuación va a llenar el vector");
for(i=0; i<x.length; i++) {
System.out.print(i+". ");
x[i]=lee.nextInt();
}
}
public static void muestraVector(int [] x) {
int i;
System.out.println("Vector: #elementos: "+x.length);
for(i=0; i<x.length; i=i+1) {
System.out.printf("x[%2d]=%2d\n", i, x[i]);
}
}
public static void ordenaVector(int [] x) {
int i,j;
for(i=0; i<x.length-1; i++) {
for(j=i+1; j<x.length; j++) {
if(x[i]>x[j]) {
intercambia(x,i,j);
}
}
}
}
public static void intercambia(int [] x, int i, int j) {
int temp;
temp=x[i];
x[i]=x[j];
x[j]=temp;
}
}