快排之C++
来源:互联网 发布:人工智能上市公司排名 编辑:程序博客网 时间:2024/04/29 11:14
#include <iostream>
#include <cstdlib>
#include <ctime>
#include <vector>
using namespace std;
//输出函数
void display(vector<int> &v)
{
for(int i=0;i<v.size();i++)
cout<<v[i]<<" ";
cout<<endl;
}
//快排函数
void quick_sort(vector<int> &v,int min1,int max1)
{
if(min1>=max1) return;
int max=max1,min=min1;
//一趟排序
while(min<max)
{
while(min<max){
if(v[max]<v[min])break;
max--;
}
swap(v[max],v[min]);
while(min<max){
if(v[max]<v[min])break;
min++;
}
swap(v[max],v[min]);
}
//每趟排序输出
display(v);
//快排递归
quick_sort(v,min1,min-1);
quick_sort(v,min+1,max1);
}
int main()
{
int n=20;
//srand()初始化随机数发生器
//rand()随机数发生器
srand(time(0));
vector<int> v(n);
//随机给20个数赋初值
for(int i=0;i<n;i++)
v[i]=rand()%1000;
quick_sort(v,0,v.size()-1);
return 0;
}
#include <cstdlib>
#include <ctime>
#include <vector>
using namespace std;
//输出函数
void display(vector<int> &v)
{
for(int i=0;i<v.size();i++)
cout<<v[i]<<" ";
cout<<endl;
}
//快排函数
void quick_sort(vector<int> &v,int min1,int max1)
{
if(min1>=max1) return;
int max=max1,min=min1;
//一趟排序
while(min<max)
{
while(min<max){
if(v[max]<v[min])break;
max--;
}
swap(v[max],v[min]);
while(min<max){
if(v[max]<v[min])break;
min++;
}
swap(v[max],v[min]);
}
//每趟排序输出
display(v);
//快排递归
quick_sort(v,min1,min-1);
quick_sort(v,min+1,max1);
}
int main()
{
int n=20;
//srand()初始化随机数发生器
//rand()随机数发生器
srand(time(0));
vector<int> v(n);
//随机给20个数赋初值
for(int i=0;i<n;i++)
v[i]=rand()%1000;
quick_sort(v,0,v.size()-1);
return 0;
}
阅读全文
0 0
- 快排---C语言
- 快排 c
- 单链表之快排
- 单链表之快排
- 排序 之 快排
- 数据结构之快排
- java之快排
- 数据结构之快排
- 数据结构之快排
- 排序之 快排
- 排序之-----快排
- 排序之快排
- 数据结构之快排
- 排序之快排
- 快排之C++
- 交换排序之冒泡与快排C/C++
- C实现快排算法
- 快排 c语言实现
- 习题3;3.3
- Redis过期键删除策略及源码剖析
- 约瑟夫问题,双向链表实现
- 在 Vue.js 中使用任意 JavaScript 第三方库
- Android WebView 播放视频无法播放问题和视频适应屏幕大小
- 快排之C++
- centos6安装nginx1.7.9+php5.6.4+mysql5.6
- linux expr命令参数及用法详解
- vc中调用其他应用程序的方法(函数) winexec,shellexecute ,createprocess
- Caffe学习系列(12):训练和测试自己的图片
- 《JavaScript编程精粹》——对象篇
- DMP文件查看方法
- 写给java web一年左右工作经验的人
- MySQL与Oracle的区别