文章
14
粉丝
0
获赞
9
访问
972
#include<stdio.h>
#include<string.h>
#include<bits/stdc++.h>
using namespace std;
void Quick_Sort(int a[],int start, int end)//从小到大
{
if(start>=end) return;//id输入错误
int left = start,right = end,x = a[start];//以最左端为base
while(left<right)
{
while(left<right && a[right] >= x)right--;//从右往左遍历,右端都应该大于base
a[left] = a[right];//比base小的替换到base当前的位置,同时base交换到它的位置
//但是不需要实际上的交换,因为base的值一直存在于x变量中
//之后我们从左端的被替换位开始,找比base大的 ,无需关心替换位的值(其实理论上一直是base) ,
//因为反正下一次会被覆盖
while(left<right && a[left] <=x )left++;
a[right] = a[left];
}
//...
登录后发布评论
暂无评论,来抢沙发