Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdlib.h>
- #include <stdio.h>
- #include <time.h>
- #define TAB_MAX 20
- #define RANDOM_MAX 10
- void print(int T[])
- {
- int i;
- printf("\n[");
- for(i=0;i<TAB_MAX;i++)
- printf("%d ", T[i]);
- printf("]\n");
- }
- void tab_random(int T[])
- {
- int i;
- for(i=0;i<TAB_MAX;i++)
- T[i] = rand() % RANDOM_MAX;
- }
- void quicksort(int T[], int p, int r)
- {
- int q;
- if(p<r)
- {
- q=partition(T,p,r);
- quicksort(T,p,q);
- quicksort(T,p+1,r);
- }
- }
- int partition(int T[], int p, int r)
- {
- int tmp,x,i,j;
- x=T[p];
- i=p-1;
- j=r+1;
- while(i<j)
- {
- do
- {
- --j;
- }
- while (!(T[j]<=x));
- do
- {
- ++i;
- }
- while (!(T[i]>=x));
- if(i<j)
- {
- tmp=T[i];
- T[i]=T[j];
- T[j]=tmp;
- }
- }
- return j;
- }
- int main()
- {
- int i, tab[TAB_MAX];
- srand(time(NULL));
- printf("Hello!\n\n");
- print(tab);
- tab_random(tab);
- print(tab);
- quicksort(tab,0,TAB_MAX-1);
- print(tab);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement