Choose Category
#include<iostream.h> #include<iomanip.h> #include<cstdlib> template<class T> inline void swap(T& v1,T& v2) { T temp=v2; v2=v1; v1=temp; } template<class T> void quicksort(T *array,int hi,int lo=0) { while(hi>lo) { int i=lo; int j=hi; do { while(array[i]<array[lo]&&i<j) i++; while(array[--j]>array[lo]) ; if(i<j) swap(array[i],array[j]); }while(i<j); swap(array[lo],array[j]); if(j-lo>hi-(j+1)) { quicksort(array,j-1,lo); lo=j+1; }else{ quicksort(array,hi,j+1); hi=j-1; } } } int main() { int dim = 100; int *arrs=new int[dim+1]; for(int i=0;i < dim;i++) arrs[i]=rand(); cout << endl<<"unsorted"<<endl; for(int i=0;i<dim;i++) cout<<setw(8)<<arrs[i]; quicksort(arrs,dim); cout<<endl<<"sorted"<<endl; for(int i=0;i<dim;i++) cout<<setw(8)<<arrs[i]; delete arrs; return 0; }