sort_quick.cpp
来自「自己编写的排序算法的代码」· C++ 代码 · 共 79 行
CPP
79 行
#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 + =
减小字号Ctrl + -
显示快捷键?