Skip to content

Instantly share code, notes, and snippets.

@HenriqueMitsuo
Created June 16, 2020 17:49
Show Gist options
  • Save HenriqueMitsuo/25d3ac8090052e17b62ebeb00a7ef654 to your computer and use it in GitHub Desktop.
Save HenriqueMitsuo/25d3ac8090052e17b62ebeb00a7ef654 to your computer and use it in GitHub Desktop.
Atividade Extra - Algoritmo Quick Sort
package Quicksort;
import java.util.Arrays;
public class Quick {
public int separar(int vetor[], int menor, int maior) {
int pivot = vetor[maior];
int i = (menor - 1);
for (int j = menor; j < maior; j++) {
if (vetor[j] <= pivot) {
i++;
int temp = vetor[i];
vetor[i] = vetor[j];
vetor[j] = temp;
}
}
int temp = vetor[i + 1];
vetor[i + 1] = vetor[maior];
vetor[maior] = temp;
return (i + 1);
}
public void Sort(int[] vetor, int menor, int maior) {
if (menor < maior) {
int pivot = separar(vetor, menor, maior);
// Elementos da Esquerda
Sort(vetor, menor, pivot - 1);
// Elementos da Direira
Sort(vetor, pivot + 1, maior);
}
}
public static void main(String args []){
Quick quick = new Quick();
int[] vetor = {78, 52, 36, 17, 15, 10, 22, 41, 67};
//int[] vetor = {50,30,40,80,10,20,70,60};
int tamanho = vetor.length;
System.out.println("QUICK SORT:");
System.out.println("Tamanho do Array: " + tamanho);
System.out.println("Vetor Original: " + Arrays.toString(vetor));
quick.Sort(vetor, 0, tamanho - 1);
System.out.println("\nVetor Ordenado: " + Arrays.toString(vetor));
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment