Ir ao conteúdo
  • Cadastre-se

Pedro Marcondes

Membro Júnior
  • Posts

    4
  • Cadastrado em

  • Última visita

Reputação

0
  1. Gostaria de saber como fica a ordenação HeapSort que está em C++ em visualg, pois sou iniciante e estou aprendendo visualg, obrigado pela atençao template<class T> void heap_sort( std::vector<T> &lista ) { int tam = static_cast<int>( lista.size() ), i; for( i = tam/2 - 1; i >= 0; --i ) { maxHeapify(lista, i , tam ); } std::vector<T>::reverse_iterator elem; for( elem = lista.rbegin(); elem != lista.rend(); elem++ ) { std::iter_swap( elem, lista.begin() ); maxHeapify( lista, 0, --tam ); } } template<class T> void maxHeapify( std::vector<T> &lista, const int pos, const int n ) { int max = 2 * pos + 1; if( max < n ) { if( (max+1) < n && lista.at(max) < lista.at(max+1) ) { ++max; } if( lista.at(max) > lista.at(pos) ) { std::swap( lista[max], lista[pos] ); maxHeapify( lista, max, n ); } } }
  2. Gostaria de saber como fica esse codigo em visualg, já tentei fazer lá mas nao sai nada, obg pela atençao voidshellSort(int*vet,intsize){ int i , j ,value; int gap =1; while(gap <size){ gap=3*gap+1; } while( gap >1){ gap/=3; for(i = gap; i <size; i++){ value=vet; j= i - gap; while(j >=0&&value<vet[j]){ vet[j + gap]=vet[j]; j-= gap; } vet[j + gap]=value; } } }
  3. Gostaria de saber como fica esse codigo de ordenaçao Comb Sort que ta em C para visualg,já tentei fazer de diversas formas mas nao consegui fazer , gostaria de aprender pelo visualg para entender e aplicar, obrigado pela atençao void combsort(int *arr, int size) { float shrink_factor = 1.247330950103979; int gap = size, swapped = 1, swap, i; while ((gap > 1) || swapped) { if (gap > 1) gap = gap / shrink_factor; swapped = 0; i = 0; while ((gap + i) < size) { if (arr - arr[i + gap] > 0) { swap = arr; arr = arr[i + gap]; arr[i + gap] = swap; swapped = 1; } ++i; } } }
  4. estou tentando ordenar um vetor utilizando a ordenação QuickSort em visualg ,mas não esta funcionando, alguem poderia ajudar? Obrigado pela atenção. código: varvetorAleatorio: vetor [1..100] de inteirox: vetor [1..100] de inteiroi,j,minimo,auxiliar:inteiroa, pivo,IniVet,FimVet:inteiroprocedimento QuickSort(X[], IniVet, FimVet:inteiro)i <- 1j <- 100pivo <- X[(1 + 100) div 2]enquanto(i < j) enquanto (X[i] < pivo) faca i <- i + 1 fimenquanto enquanto (X[j] > pivo) faca j <- j - 1 fimEnquanto se (i <= j) então auxiliar <- X[i] X[i] <- X[j] X[j] <- auxiliar i <- i + 1 j <- j - 1 fimSefimEnquantose (j > IniVet) então QuickSort(X, IniVet, j)fimSese (i < FimVet) então QuickSort(X, i, FimVet)fimsefimprocedimentoinicio//criando vetor aleatoriopara i de 1 ate 100 faca vetorAleatorio[i]<-RandI(100)fimpara//copiando o vetor aleatorio para os outrospara i de 1 ate 100 faca x[i]<-vetorAleatorio[i]fimparacronometro onQuickSort()cronometro offfimalgoritmo

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...