Ed Inteligência Artificial do Passei Direto
há 2 anos
Para implementar um algoritmo de ordenação de arrays em C++, você pode usar o algoritmo de ordenação conhecido como "Quicksort". Aqui está um exemplo de como implementá-lo: ```cpp #include // Função para trocar dois elementos void trocar(int* a, int* b) { int temp = *a; *a = *b; *b = temp; } // Função para encontrar o pivô e colocá-lo na posição correta int particionar(int arr[], int low, int high) { int pivot = arr[high]; // escolha o último elemento como pivô int i = (low - 1); // índice do menor elemento for (int j = low; j <= high - 1; j++) { // Se o elemento atual for menor ou igual ao pivô if (arr[j] <= pivot) { i++; // incrementa o índice do menor elemento trocar(&arr[i], &arr[j]); } } trocar(&arr[i + 1], &arr[high]); return (i + 1); } // Função principal do Quicksort void quicksort(int arr[], int low, int high) { if (low < high) { // Encontra o pivô e coloca-o na posição correta int pi = particionar(arr, low, high); // Ordena os elementos antes e depois do pivô quicksort(arr, low, pi - 1); quicksort(arr, pi + 1, high); } } // Função para imprimir o array void imprimirArray(int arr[], int size) { for (int i = 0; i < size; i++) { std::cout << arr[i] << " "; } std::cout << std::endl; } int main() { int arr[] = { 64, 25, 12, 22, 11 }; int n = sizeof(arr) / sizeof(arr[0]); std::cout << "Array original: "; imprimirArray(arr, n); quicksort(arr, 0, n - 1); std::cout << "Array ordenado: "; imprimirArray(arr, n); return 0; } ``` Neste exemplo, o algoritmo Quicksort é implementado usando recursão. Ele divide o array em duas partes, em torno de um elemento chamado de "pivô", e em seguida, ordena as partes separadamente. O pivô é escolhido como o último elemento do array, mas você pode escolher outros métodos para selecionar o pivô.