Ir ao conteúdo
  • Cadastre-se

C Algoritmo Quicksort - Programação em C


LosinChances

Posts recomendados

Olá pessoal, gostaria de ajuda nesse trabalho em C. Peço por favor que enviei o codigo pois nao consigo prosseguir nessa resoluçao

 

Números inteiros são representados corretamente até o valor de 2.147.483.647, que é o limite de representação atual de inteiros. Considerando isso, se formos tratar de inteiros maiores que esse valor temos duas opções. Uma é representar como float/double, porém isso nem sempre é desejável. A outra forma é criando um tipo de dados que concatene dois inteiros, de modo a formar um inteiro muito grande.

Isso equivale ao que conhecemos como unidades, dezenas, centenas, milhares, etc. Ou seja, podemos pensar que um número inteiro grande é a combinação de dois inteiros, um representando a "parte baixa" (no caso limitada em 1.000.000.0000) e o outro representando a "parte alta". Assim, o valor 100 bilhões seria representado por um inteiro 100 e por um inteiro 1.000.000.000. Já o valor limite indicado acima seria representado por 2 e por 147.483.647.

Para fazer a representação indicada (esqueça das funções que manipulam esses valores), deve se declarar a seguinte estrutura


typedef struct biggo { int high; int low; } BigInt;

Considerando então esse novo tipo de dados, implemente o algoritmo quicksort para ordenar um vetor de 100 mil posições BigInt. Lembre-se nesse caso que a ordenação deve cuidar para que posições de mesmo valor para high sejam ordenadas pelo seu valor de low.

Para gerar esse vetor use como base a função do terceiro projeto, porém agora faça a atribuição aos elementos do vetor usando rand%1000000001

Para efeito de comparação, use também o algoritmo insertion sort (aplicando um de cada vez).

A entrega do programa deve incluir o código fonte e um pequeno relato dos resultados obtidos (1 ou 2 páginas).

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

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