📄 qsort.cpp
字号:
#include<iostream.h>
#include<fstream.h>
void qsort(int [],int,int);
int array[10];
void main()
{
ifstream in("in.txt");
for(int j=0;j<10;j++)
{
in>>array[j];
cout<<array[j]<<" ";
}
cout<<endl;
int len=sizeof(array)/sizeof(int);
qsort(array,0,len-1);
for(int i=0;i<len;i++)
cout<<array[i]<<" ";
cout<<endl;
}
void qsort(int a[],int left,int right)
{
int pivot,l,r,temp;
l=left;
r=right;
pivot=a[(left+right)/2]; //取中位值作为分界值
while(l<r)
{
while(a[l]<pivot) ++l;
while(a[r]>pivot) --r;
if(l>=r)
break;
temp=a[l];
a[l]=a[r];
a[r]=temp;
}
if(l==r)
l++;
if(left<r)
qsort(a,left,l-1);
if(l<right)
qsort(a,r+1,right);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -