Ordenação quicksort
Publicado por david sousa mota (última atualização em 20/10/2010)
[ Hits: 13.121 ]
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); }
Script MakePach para correção de platarforma 32 bits para 64
Pilhas C/C++ - Analisador de expressões simples
Nenhum comentário foi encontrado.
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
IA chega ao desktop e impulsiona produtividade no mundo Linux
Novos apps de produtividade, avanços em IA e distros em ebulição agitam o universo Linux
Digitando underscore com "shift" + "barra de espaços"
Como ativar a lixeira e recuperar aquivos deletados em um servidor Linux
Como mudar o nome de dispositivos Bluetooth via linha de comando
Problema em SSD ao dar boot LinuxMint LMDE FAYE 64 (0)
Baixar jogos Independentes para Ubuntu [RESOLVIDO] (4)
PIP3 - erro ao instalar módulo do mariadb para o Python (1)
Linux x Plataformas de Trading - um problema (in-)solúvel? (4)