Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include<stdlib.h>
- #include<time.h>
- #define size 20000
- void quickSort( int[], int, int);
- int partition( int[], int, int);
- int a[size];
- int main()
- {
- int i;
- clock_t begin,end;
- double time_spent;
- for(i=0;i<size;i++)
- {
- a[i]=rand()%100;
- }
- begin=clock();
- quickSort( a, 0,size-1);
- end=clock();
- printf("\n\nSorted array is: ");
- time_spent=(double)(end-begin)/CLOCKS_PER_SEC;
- printf("\nSorted array:\n");
- for(i=0;i<size;i++)
- {
- printf("%d ",a[i]);
- }
- printf("\nTime Elapsed:%f\n",time_spent);
- }
- void quickSort( int a[], int front, int rear)
- {
- int j;
- if( front < rear )
- {
- j = partition( a, front, rear);
- quickSort( a, front, j-1);
- quickSort( a, j+1, rear);
- }
- }
- int partition( int a[], int front, int rear) {
- int x, i, j, temp;
- x = a[front];
- i = front; j = rear+1;
- while( 1)
- {
- do ++i;
- while( a[i] <= x && i <= rear );
- do --j;
- while( a[j] > x );
- if( i >= j )
- break;
- temp = a[i];
- a[i] = a[j];
- a[j] = temp;
- }
- temp = a[front];
- a[front] = a[j];
- a[j] = temp;
- return j;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement