Ir ao conteúdo
  • Cadastre-se

Erica Olmo Borges

Membro Júnior
  • Posts

    1
  • Cadastrado em

  • Última visita

Reputação

0
  1. #include <stdio.h> #include <locale.h> const int tamanho = 10; char vetor[tamanho] = {'6', '7', '5', '4', '9', '8', '3', '2', '8', '1'}; imprimeVetor(){ for(int i = 0; i <= tamanho -1; i++){ printf("%c ", vetor[i]); } } quickSort(char vet[], int inicio, int fim){ //onde inicia e onde finaliza o pivot if(inicio < fim){ //se o meu inicio for menor que o fim char pivot = vet[inicio]; //determina quem é o pivo char temp; int i = inicio; int f = fim; while (true){ while(pivot < vet[f]){ //enquanto o pivo for menor que o pivo naposição final f--; } while(pivot > vet[i]){ //enquando meu pivo for maior que inicial i++; } if (i >= f){ break; } temp = vet[i]; vet[i] = vet[f]; vet[f] = temp; } //a rotina chama ela mesma quickSort(vet, inicio, f); quickSort(vet, f +1, fim); } } main(){ setlocale(LC_ALL, "Portuguese"); printf("Vetor antes da ordenação: "); for(int i = 0; i <= tamanho -1; i++){ printf("\nVetor %d: %c ", i, vetor[i]); } quickSort(vetor, 0, tamanho -1); printf("\n\nVetor depois da ordenação: "); //imprimeVetor(); for(int i = 0; i <= tamanho -1; i++){ printf("\nVetor %d: %c ", i, vetor[i]); } } Fala galera, tenho um trabalho da faculdade no qual preciso ordenar 10 elementos de um vetor usando o método QuickSort. O problema é que ele imprime desordenado e não ordenado. Alguém poderia me ajudar informando onde estou errando?

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...