📄 sort_quick.cpp
字号:
#include <fstream.h>
#include "data.h"
//划分区间
int Partition(int a[],int low,int high)
{
int i,j;
i=low-1;
for(j=low;j<high;j++)
{
if(a[j]<=a[high])
{
i++;
Change(a,i,j);
}
}
i++;
Change(a,i,high);
return i;
}
//快速排序
void Quick(int a[],int low,int high)
{
int q;
if(low<high)
{
q=Partition(a,low,high);
Quick(a,low,q-1);
Quick(a,q+1,high);
}
}
///////////////////////////////
void Quick_Sort(int a[])
{
int l,h;
l=0;
h=number-1;
Quick(a,l,h);
}
//////////////测试用//////////////
int Partition2(int a[],int low,int high)
{
int i,j;
i=low-1;
for(j=low;j<high;j++)
{
if(a[j]<a[high]) //这里把<=改成了< 减少了内存中的数据移动
{
i++;
Change(a,i,j);
}
}
i++;
Change(a,i,high);
return i;
}
//快速排序
void Quick2(int a[],int low,int high)
{
int q;
if(low<high)
{
q=Partition2(a,low,high);
Quick2(a,low,q-1);
Quick2(a,q+1,high);
}
}
///////////////////////////////
void Quick_Sort2(int a[])
{
int l,h;
l=0;
h=number-1;
Quick2(a,l,h);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -