博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
快速排序
阅读量:6812 次
发布时间:2019-06-26

本文共 769 字,大约阅读时间需要 2 分钟。

     快速排序就是选定一个参照物,然后比这个参照物小的放它左边,比它大的放右边,然后分别对左边和右边重复以上操作。

#include
#include
#include
using namespace std;int quick(int* a,int l,int r){ int x = a[l]; int j = l; while(l
=l;--r) if(x >= a[r]) break; swap(a[j],a[r]);      //把x交换进去,是为了避免下标超界,这样就不会越界了, j = r; for(;l<=r;++l) if(x <= a[l]) break; swap(a[j],a[l]); j = l; } //a[j] = x; return j;}void qSort(int* a,int l,int r){ if(l>=r) return; int x = quick(a,l,r); qSort(a,l,x-1); qSort(a,x+1,r);}int main(){ int a[] = {
9,10,2,6,8,1,5,4,3,7}; int n = sizeof(a)/sizeof(int); qSort(a,0,n-1); for(int i=0;i

 

转载于:https://www.cnblogs.com/jlyg/p/10262200.html

你可能感兴趣的文章
选择排序之python实现
查看>>
mysql 分库分表 ~ ShardingSphere生态圈
查看>>
BFS+模拟 ZOJ 3865 Superbot
查看>>
二分搜索 POJ 1064 Cable master
查看>>
Opencv笔记(二十一)——傅里叶变换
查看>>
Codeforces Round #215 (Div. 2) 解题报告
查看>>
GitHub上常用命令(工作中几乎每天用到的命令)
查看>>
动态规划——Palindrome Partitioning II
查看>>
zoj 1440
查看>>
英特尔® 实感™ SDK 架构
查看>>
vuex - 学习日记
查看>>
面试总结
查看>>
【转】虚拟机检测技术
查看>>
JS基础之开篇
查看>>
初识python: 生成器并行(做包子,吃包子)
查看>>
[bzoj 1861][zjoi2006] 书架
查看>>
java练习题-求int类型N值的阶乘
查看>>
C++ Vector 使用心得
查看>>
设计模式之(Composite)组合模式
查看>>
mongodb笔记 getting started
查看>>