快速排序算法C++代码
快速排序算法,代码有所参考#include <iostream>using namespace std;void quicksort(int a[], int left, int right) {int i = left, j = right, temp = a[right];//temp中存的就是基准数(轴)if(left >= right)return...
·
快速排序算法,代码有所参考
#include <iostream>
using namespace std;
void quicksort(int a[], int left, int right) {
int i = left, j = right, temp = a[right]; //temp中存的就是基准数(轴)
if(left >= right) return;
while(i != j) {
//顺序很重要,轴最左则先右后左,轴最右则先左后右
while(a[i] <= temp && i < j) i++;
while(a[j] >= temp && i < j) j--;
if(i < j){
int t = a[i];
a[i] = a[j];
a[j] = t;
}
}
//最终将基准数归位
a[right] = a[i];
a[i] = temp;
quicksort(a, left, i-1); //继续处理左边的
quicksort(a, i+1, right); //继续处理右边的
}
int main(){
int a[] = {72,6,57,88,85,42,83,73,48,60,60};
quicksort(a, 0, sizeof(a) / sizeof(a[0]) - 1);
for(int i = 0; i < sizeof(a) / sizeof(a[0]); i++)
cout << a[i] << " ";
return 0;
}
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐



所有评论(0)