user10497264:
Eu estou tentando escrever uma algorithom selecção espécie. Como parte do algorithom eu preciso mudar 2 valores na matriz, eu tentei-o como segue: array[min] = array[i]; array[i] = array[min];
Mas eu acredito este não vai funcionar porque array[min]
já estará =
a array[i]
. Então, como posso fazer isso swap? abaixo é o meu código.
static int[] array = {3, 2, 1, 4, 5, 6};
static int n = 5;
static int temp;
for (int i = 0; i<=5; i++) {
int min = 0;
for (int j = i+1; j<=n; j++) {
//System.out.println(j);
if (array[j]<array[min]) {
min = j;
}
if (min != i) {
array[min] = array[i];
array[i] = array[min];
}
}
}
CodeFromthe510:
Precisa de um local temporário mem para armazenar um valor.
ou seja
temp = array[min]
array[min] = array[i]
array[i] = temp