Alguém já fez um método de Array de inteiros unidimensional, para encontrar o menor valor sem utilizar nenhum de laçoe utilizando recursão?
Exemplo:
private int encontraPosicaoMenorValor{}
private static int smallest(int[] table) {
int smallest = table[0];
for (int i = 1; i < table.length; i++) {
if (table[i] < smallest) {
smallest = table[i];
}
}
return smallest;
}
private static int indexOfTheSmallest(int[] table) {
int theIndexOfSmallest = 0;
for (int i = 0; i < table.length; i++) {
if ( table[i]<table[theIndexOfSmallest]) {
theIndexOfSmallest = i;
}
}
return theIndexOfSmallest;
}
private static int indexOfTheSmallestStartingFrom(int[] table, int startIndex) {
int theIndexOfSmallest = startIndex;
for (int i = startIndex; i < table.length; i++) {
if ( table[i]<table[theIndexOfSmallest]) {
theIndexOfSmallest = i;
}
}
return theIndexOfSmallest;
}
private static void swap(int[] table, int index1, int index2) {
int index1OldValue = table[index1];
table[index1] = table[index2];
table[index2] = index1OldValue;
}
public static void sort(int[] table){
for (int i = 0; i < table.length-1; i++) {
int theIndexOfTheSmallest = indexOfTheSmallestStartingFrom(table, i);
swap(table, i, theIndexOfTheSmallest);
}
}
FOR e WHILE são laços.
use os métodos Arrays, só assim você não implementa laços (diretamente)
Um tópico parecido