Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <time.h>
- #define size 10
- void quickSort( int[], int, int);
- int partition( int[], int, int);
- void main()
- {
- srand(time(NULL));
- int i;
- int a[size];
- printf("\n\nLiczbo do posortowania: ");
- for(i = 0; i <=size-1; ++i)
- {
- a[i]=rand()%100;
- printf(" %d ", a[i]);
- }
- quickSort( a, 0, size-1);
- printf("\n\nLiczby po posortowaniu: ");
- for(i = 0; i <=size-1; ++i)
- printf(" %d ", a[i]);
- }
- void quickSort( int a[], int p, int r)
- {
- int q;
- if( p < r )
- {
- q = partition( a, p, r);
- quickSort( a, p, q);
- quickSort( a, q+1, r);
- }
- }
- int partition( int a[], int p, int r) {
- int pivot, i, j, t;
- pivot = a[p];
- i = p-1;
- j = r+1;
- while(1)
- {
- do j--; while(a[j] <= pivot);
- do i++; while(a[i] >= pivot);
- if(i < j)
- {
- t = a[i]; a[i] = a[j]; a[j] = t;
- }
- else
- return j;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment