Logo Passei Direto
Buscar

Como implementar algoritmo de quick sort em java

User badge image

Enviado por Gabriel Diniz Mota há 2 anos

Respostas

User badge image

Ed Inteligência Artificial do Passei Direto Verified user icon

há 2 anos

Claro! Aqui está um exemplo de implementação do algoritmo de Quick Sort em Java: ```java public class QuickSort { public static void main(String[] args) { int[] array = {5, 2, 9, 1, 3, 6, 8, 4, 7}; System.out.println("Array antes da ordenação:"); printArray(array); quickSort(array, 0, array.length - 1); System.out.println("Array após a ordenação:"); printArray(array); } public static void quickSort(int[] array, int low, int high) { if (low < high) { int pivotIndex = partition(array, low, high); quickSort(array, low, pivotIndex - 1); quickSort(array, pivotIndex + 1, high); } } public static int partition(int[] array, int low, int high) { int pivot = array[high]; int i = low - 1; for (int j = low; j < high; j++) { if (array[j] < pivot) { i++; swap(array, i, j); } } swap(array, i + 1, high); return i + 1; } public static void swap(int[] array, int i, int j) { int temp = array[i]; array[i] = array[j]; array[j] = temp; } public static void printArray(int[] array) { for (int num : array) { System.out.print(num + " "); } System.out.println(); } } ``` Esse código implementa o algoritmo de Quick Sort em Java. Ele recebe um array de inteiros como entrada e o ordena em ordem crescente. O método `quickSort` é responsável por chamar a função `partition` para dividir o array em subarrays menores e, em seguida, chama recursivamente o `quickSort` para ordenar esses subarrays. O método `partition` seleciona um pivô e rearranja os elementos do array de forma que os elementos menores que o pivô fiquem à sua esquerda e os elementos maiores fiquem à sua direita. O método `swap` é utilizado para trocar dois elementos de posição no array. O método `printArray` é utilizado apenas para exibir o array antes e depois da ordenação. Espero que isso te ajude a implementar o algoritmo de Quick Sort em Java! Se tiver mais alguma dúvida, é só perguntar.

Essa resposta te ajudou?

0
Dislike0

Ainda com dúvidas?

Envie uma pergunta e tenha sua dúvida de estudo respondida!