Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <time.h>
- void quicksort(int tab[], int left, int right)
- {
- int i=left;
- int j=right;
- int k=(left+right)/2;
- int x=tab[k];
- do{
- while(tab[i]<x) i++;
- while(tab[j]>x) j--;
- if(i<=j)
- {
- int a=tab[j];
- tab[j]=tab[i];
- tab[i]=a;
- i++;
- j--;
- }
- }while(i<=j);
- if(left<j) quicksort(tab,left,j);
- if(right>i) quicksort(tab,i,right);
- }
- void main()
- {
- const int SIZE=100000;
- int * tab=malloc(SIZE*sizeof(int));
- int i;
- srand(time(0));
- for (i=0;i<SIZE;i++)
- tab[i]=rand()%SIZE+1;
- printf("100 elementow przed posortowaniem tablicy %i elementow:\n", SIZE);
- for(i=0;i<SIZE;i+=SIZE/100)
- printf("%i ", tab[i]);
- int x=time(0);
- printf("\nSortowanie start!\n");
- quicksort(tab, 0, SIZE-1);
- int y=time(0);
- printf("\nStop!\nCzas: %i sekund\n",y-x);
- printf("100 elementow po posortowaniu tablicy %i elementow:\n", SIZE);
- for(i=0;i<SIZE;i+=SIZE/100)
- printf("%i ", tab[i]);
- getchar();
- }
Advertisement
Add Comment
Please, Sign In to add comment