Ordenação quicksort
Publicado por david sousa mota (última atualização em 20/10/2010)
[ Hits: 12.896 ]
Lista aleatória e método de ordenação quicksort na forma decrescente.
#include <stdio.h> #include <stdlib.h> #include <time.h> int aleatorio(int **p,int quantidade); void quick_sort(int lista[],int tamanho); void quick(int lista[],int esquerdo,int direito); int main(){ int lista[10]; int *p; int contador; p = lista; aleatorio(&p,10); for(contador=0;contador<10;contador++){ printf("%i\n",lista[contador]); } printf("\n\n"); quick_sort(lista,10); for(contador=0;contador<10;contador++){ printf("%i\n",lista[contador]); } system("pause"); return 0; } int aleatorio(int **p, int quantidade){ struct tm *ptr; time_t lt; lt = time(NULL); ptr = gmtime(<); int conta; int b=10; for(conta=0;conta<=quantidade;conta++){ if(conta%2 != 0){ *p = ((int *)(ptr->tm_sec)) + b*quantidade*conta; p++; b+=10; }else { *p = ((int *)(ptr->tm_sec)) + b*quantidade*2*conta; p++; b+=-5; } } } void quick_sort(int lista[],int tamanho) { quick(lista,0,tamanho-1); } void quick(int lista[],int esquerdo,int direito) { register int i,j; int x,y; i = esquerdo; j = direito; x = lista[(esquerdo+direito)/2]; do{ while(lista[i]>x && i<direito) i++; while(x>lista[j] && j>esquerdo) j--; if(i<=j){ y = lista[i]; lista[i] = lista[j]; lista[j] = y; i++; j--; } }while(i<=j); if(esquerdo<j) quick(lista,esquerdo,j); if(i<direito) quick(lista,i,direito); }
Rotina para controle de portas paralelas em C. (biblioteca LP.h)
Nenhum comentário foi encontrado.
Armazenando a senha de sua carteira Bitcoin de forma segura no Linux
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Meu Fork do Plugin de Integração do CVS para o KDevelop
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Encontre seus arquivos facilmente com o Drill
Mouse Logitech MX Ergo Advanced Wireless Trackball no Linux
Compartilhamento de Rede com samba em modo Público/Anônimo de forma simples, rápido e fácil
Cups: Mapear/listar todas as impressoras de outro Servidor CUPS de forma rápida e fácil
Vc tem um projeto opensource? link? (5)
Olá quais distribuições recomendam para usar no dia a dia. (3)
minha maquina foi desinstalada o firefox eu preciso reinstalar tentei... (6)
Erro na inicialização do Arch Linux. (1)
windows 11 versao 24H2 não aplicando politicas samba4.21.1 GPO (4)