Barbaraa Postado Fevereiro 4, 2023 Denunciar Share Postado Fevereiro 4, 2023 Boa tarde!! Estou tentando escrever um código de Quick Sort par organizar a seguinte lista: {10, 9, 8, 7, 6, 5, 4, 3, 2, 1}. Para isso, utilizei o código abaixo: #include <iostream> #include <stdlib.h> #include <string> #define TAM 10 using namespace std; void imprimeVetor(int vetor[]){ int i; cout << "\n"; for(i = 0; i < TAM; i++){ cout << "|" << vetor[i] << "|"; } } void swap(int vetor[], int pos1, int pos2){ int temp; temp = vetor[pos1]; vetor[pos1] = vetor[pos2]; vetor[pos2] = temp; } int partittion(int vetor[], int menor, int maior, int pivot){ int i = menor; int j = maior; while(i <= maior){ if(vetor[i]> pivot){ i++; } else{ swap(vetor, i, j); i++; j++; } } return j -1; } void quick_sort(int vetor[], int menor, int maior){ menor = 0; maior = 10; if(menor < maior){ int pivot = vetor[maior]; int pos = partittion(vetor, menor, maior, pivot); quick_sort(vetor, menor, pos -1); quick_sort(vetor, pos +1, maior); } } int main(){ int vetor[TAM] = {10, 9, 8, 7, 6, 5, 4, 3, 2, 1}; quick_sort(vetor, 0, TAM); imprimeVetor(vetor); return 0; } Porém ao compilá lo não obtenho o resultado esperado e sim apenas o seguinte retorno: Process returned -1073741571 (0xC00000FD) execution time : 1.256 s Press any key to continue. Alguém consegue me ajudar com esta questão? Muito obrigada! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 threadtangerines Postado Maio 15, 2023 Denunciar Share Postado Maio 15, 2023 I'm attempting to use Quick Sort to arrange the following set of items. I receive this error instead of the anticipated one when I try to compile it. drift hunters Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Barbaraa
Boa tarde!!
Estou tentando escrever um código de Quick Sort par organizar a seguinte lista: {10, 9, 8, 7, 6, 5, 4, 3, 2, 1}.
Para isso, utilizei o código abaixo:
#include <iostream>
#include <stdlib.h>
#include <string>
#define TAM 10
using namespace std;
void imprimeVetor(int vetor[]){
int i;
cout << "\n";
for(i = 0; i < TAM; i++){
cout << "|" << vetor[i] << "|";
}
}
void swap(int vetor[], int pos1, int pos2){
int temp;
temp = vetor[pos1];
vetor[pos1] = vetor[pos2];
vetor[pos2] = temp;
}
int partittion(int vetor[], int menor, int maior, int pivot){
int i = menor;
int j = maior;
while(i <= maior){
if(vetor[i]> pivot){
i++;
}
else{
swap(vetor, i, j);
i++;
j++;
}
}
return j -1;
}
void quick_sort(int vetor[], int menor, int maior){
menor = 0;
maior = 10;
if(menor < maior){
int pivot = vetor[maior];
int pos = partittion(vetor, menor, maior, pivot);
quick_sort(vetor, menor, pos -1);
quick_sort(vetor, pos +1, maior);
}
}
int main(){
int vetor[TAM] = {10, 9, 8, 7, 6, 5, 4, 3, 2, 1};
quick_sort(vetor, 0, TAM);
imprimeVetor(vetor);
return 0;
}
Porém ao compilá lo não obtenho o resultado esperado e sim apenas o seguinte retorno:
Process returned -1073741571 (0xC00000FD) execution time : 1.256 s
Press any key to continue.
Alguém consegue me ajudar com esta questão?
Muito obrigada!
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.