Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <time.h>
- #define DIM 100
- void quick(int sin, int des, int vet[])
- {
- int i, j, media;
- media=vet[(sin+des)/2]; //pivot
- i=sin;
- j=des;
- do
- {
- while(vet[i]<media){
- i=i+1;
- }
- while(vet[j]>media){
- j=j-1;
- }
- if(i<=j)
- {
- int temp=vet[i];
- vet[i]=vet[j];
- vet[j]=temp;
- i=i+1;
- j=j-1;
- }
- }while(j>=i);
- if(sin<j)
- quick(sin, j, vet);
- if(i<des)
- quick(i, des, vet);
- }
- void stampa(int vet[], int nElem)
- {
- int i;
- for(i=0;i<nElem;i++)
- printf("%4d", vet[i]);
- }
- int* genVect(){
- int* vet;
- srand(time(NULL));
- vet=new int [DIM];
- for(int i=0;i<DIM;i++){
- vet[i]=rand()%100;
- }
- return vet;
- }
- int main()
- {
- int* vet;
- vet=genVect();
- quick(0, DIM-1, vet);
- stampa(vet, DIM);
- getchar();
- return 0;
- }
Add Comment
Please, Sign In to add comment