Galera, to com um problema sobre o Selection Sort…
Achei um codigo na internet que funciona direito, so que com Int, e eu preciso como String… Alguem saberia como mudar ou ajudar?
Ai vai o codigo que eu tenho…
public class SelectionSort {
void selectionSort(int numbers[], int array_size)
{
int i, j;
int min, temp;
for (i = 0; i < array_size-1; i++)
{
min = i;
for (j = i+1; j < array_size; j++)
{
if (numbers[j] < numbers[min])
min = j;
}
temp = numbers[i];
numbers[i] = numbers[min];
numbers[min] = temp;
}
}
}
Pra comparar Strings (e também int, double…) você pode generalizar o seu método mudando o seu cabeçalho e algumas linhas do seu código:
void selectionSort(Comparable[] elementos) {
No lugar da antiga variável array_size, você pode obter o mesmo valor fazendo:
elementos.length
E na hora da comparação mesmo, você compara assim:
if (elementos[j].compareTo(elementos[min]) < 0) {
Eu não verifiquei se o seu algoritmo está correto, apenas tô ajudando em como fazer com que ele ordene também objetos de outros tipos, inclusive os tipos primitivos (se você estiver usando pelo menos o Java 5).