标签:art 记忆 十分钟 quic amp 下标 排序快速 判断 int
快速排序很简单,分为三步:
1.找中轴
2.左边快排
3.右边快排
注意事项:每一次快排之前都要判断左边的下标是否小于右边的下标
代码如下:
void quick_sort(int * data,int left,int right)
{
if(left < right)
{
int index = partition(data,left,right);
quick_sort(data,left,index-1);
quick_sort(data,index+1,right);
}
}
找中轴也分为三步:
1.选定一个中轴(以最左边的中轴为例)
2.从右往左找,右边赋值给左边
3.从左往右找,左边赋值给右边
代码如下:
int partition(int * data,int left,int right)
{
int piovet = data[left];
while(left < right)
{
while(data[right] >= piovet && left < right) right--;
data[left] = data[right];
while(data[left] <= piovet && left <right) left++;
data[right] = data[left];
}
data[left] = piovet;
return left;
}
标签:art 记忆 十分钟 quic amp 下标 排序快速 判断 int
原文地址:https://www.cnblogs.com/Alice-Fourier/p/12364405.html