| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 |
- extern void printInt( int val);
- extern void printFloat( float val);
- extern int scanInt( );
- extern float scanFloat( );
- extern void printSpaces( int num);
- extern void printNewlines( int num);
- void printvector(int[m] a)
- {
- for(int i=0,m)
- {
- printInt(a[i]);
- printSpaces(3);
-
- }
-
- }
- void quicksort(int[N] list,int m,int n)
- {
- int key;
- int i;
- int j;
- int k;
- int temp;
-
- if( m < n)
- {
-
- k = (m+n)/2;
-
- //swap
- temp=list[m];
- list[m]=list[k];
- list[k]=temp;
-
- key = list[m];
-
- i = m+1;
-
- j = n;
-
- while(i <= j)
- {
-
- while((i <= n) && (list[i] <= key))
- {
- i=i+1;
- }
- while((j >= m) && (list[j] > key))
- {
- j=j-1;
- }
- if( i < j)
- {
-
- temp=list[i];
- list[i]=list[j];
- list[j]=temp;
- }
-
- }
-
- // swap two elements
-
- temp=list[m];
- list[m]=list[j];
- list[j]=temp;
-
- // recursively sort the lesser list
-
- quicksort(list,m,j-1);
-
- quicksort(list,j+1,n);
-
- }
-
- }
- export int main()
- {
- int[10] a = [2,10,5,4,9,7,8,6,1,2];
-
- quicksort(a,0,9);
- printvector(a);
- return 0;
- }
|