Métodos de ordenação
BubbleSort
Ordena através de sucessivas trocas entre pares de elementos do vetor
static public void bolha(int[] vetorc, int tamanho) { contador_bolha = 0; compara_bolha = 0; int aux, i, j; for (j = tamanho - 1; j >= 1; j--) {
for (i = 0; i < j; i++) { compara_bolha++; if (vetorc[i] > vetorc[i + 1]) { aux = vetorc[i]; vetorc[i] = vetorc[i + 1]; vetorc[i + 1] = aux; contador_bolha++; }
} } }
InsertionSort
Ordena através da inserção de um elemento por vez (primeiro elemento) do segmento não ordenado no segmento ordenado, na sua posição correta
static int[] insercao(int[] vetora) { contador_insercao = 0; compara_insercao = 0;
int i, j, index;
for (i = 1; i < vetora.Length; i++) { index = vetora[i]; j = i; compara_insercao++;
while ((j > 0) && (vetora[j - 1] > index)) { vetora[j] = vetora[j - 1]; j = j - 1; contador_insercao++; compara_insercao++; }//fim while
vetora[j] = index; }//fim for return vetora; }
SelectionSort
Ordena através de sucessivas seleções do elemento de menor valor em um segmento não ordenado e seu posicionamento no final de um segmento ordenado
static public void selection(int[] vetora) { contador_selection = 0;