⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 12-4.cpp

📁 为初学者提供的最佳的C++程序设计源程序库
💻 CPP
字号:
#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;
   cout<<"How many integers?"<<endl;
   cin>>dim;
   int *arrs=new int[dim+1];
   int i=0;
   for(;i<dim;i++)
   arrs[i]=rand();
   cout<<endl<<"..........unsorted................"<<endl;
   for(i=0;i<dim;i++)
   cout<<setw(8)<<arrs[i];
   quicksort(arrs,dim);
   cout<<endl<<"...........sorted................."<<endl;
   for(i=0;i<dim;i++)
   cout<<setw(8)<<arrs[i];
   delete arrs;
   return 0;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -