Ordenação quicksort
Publicado por david sousa mota (última atualização em 20/10/2010)
[ Hits: 13.151 ]
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);
}
Conversão de Decimal para Binário
Rotina para controle de portas paralelas em C. (biblioteca LP.h)
Nenhum comentário foi encontrado.
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
Como usar Gpaste no ambiente Cinnamon
Atualizando o Fedora 42 para 43
Como saber se o seu e-mail já teve a senha vazada?
VOL já não é mais como antes? (7)
É normal não gostar de KDE? (12)
E aí? O Warsaw já está funcionando no Debian 13? [RESOLVIDO] (15)
Secure boot, artigo interessante, nada técnico. (4)
copiar library para diretorio /usr/share/..... su com Falha na a... (1)









