Bucketsort

368 palavras 2 páginas
#include
#include
#include
#include

#define tam_bucket 5 //Tamanho de cada balde da estrutura bucket.
#define num_bucket 10 //Número de baldes, isto é, o tamanho do vetor de bucket
#define max 10 //Tamanho do vetor a ser ordenado.

typedef struct { int topo; int balde[tam_bucket]; }bucket;

void bucket_sort(int v[],int tam); //cabeçalho das funções void bubble(int v[],int tam); void Quicksort(int vet[], int ini , int fim); void imprime(int v[] , int tam);

int main(){

int vetor[max]; int index;

srand(time(NULL)); for(index = 0; index < max; index++) { vetor[index] = rand() % 101; }

printf("Vetor Desordenado\n\n"); imprime(vetor, max); printf("\n\n");

bucket_sort(vetor, max);

printf("Vetor ordenado\n\n"); imprime(vetor, max); printf("\n\n");

return 0; }

void bucket_sort(int v[],int tam){ bucket b[num_bucket]; int i, j, k; for(i = 0; i < num_bucket; i++) //inicializa todos os "topo" b[i].topo = 0;

for(i = 0; i < tam; i++){ //verifica em que balde o elemento deve ficar j = (num_bucket) - 1; while(1){ if(j= j * 10){ b[j].balde[b[j].topo] = v[i]; (b[j].topo)++; break; } j--; } }

for(i = 0; i < num_bucket; i++) //ordena os baldes if(b[i].topo) bubble(b[i].balde,b[i].topo); //Quicksort(b[i].balde, b[0].topo, b[i].topo);

i=0; for(j = 0; j < num_bucket; j++){ //põe os elementos dos baldes de volta no vetor for(k = 0; k < b[j].topo; k++){ v[i] =

Relacionados

  • POTA BUCKETSORT FINAL
    927 palavras | 4 páginas
  • BubbleSort
    957 palavras | 4 páginas
  • Pesquisa e Ordenação
    3724 palavras | 15 páginas
  • Classificação e ppesquisa
    1120 palavras | 5 páginas
  • ATPS Classifica o e Pesquisa completo
    3761 palavras | 16 páginas
  • Primeiro exerc cio programa
    493 palavras | 2 páginas
  • estudante
    868 palavras | 4 páginas
  • Aps em java - ordenação de dados
    921 palavras | 4 páginas
  • APS Ordenação de Dados
    831 palavras | 4 páginas
  • Ordenação de dados
    1018 palavras | 5 páginas