【算法】快速排序--C++源代码(VS2015)
来源:互联网 发布:基于内容推荐算法 编辑:程序博客网 时间:2024/06/05 12:43
#include <iostream>
#include <vector>
using namespace std;
void QuickSort(vector<int> &vec, int left, int right)
{
if (left > right)
{
return;
}
int first = left;
int last = right;
int key = vec[first];
while (first < last)
{
while(first < last && vec[last] >= key)
{
last--;
}
vec[first] = vec[last];
while (first < last && vec[first] < key)
{
first++;
}
vec[last] = vec[first];
}
vec[first] = key;
QuickSort(vec, left, first - 1);
QuickSort(vec, first+1, right);
}
void Print(vector<int> &vec)
{
cout << "vec[] = ";
for (vector<int>::iterator iter = vec.begin(); iter != vec.end(); iter++)
{
cout << *iter << " ";
}
cout << endl;
}
int main()
{
int arr[] = { 2,4,6,8,10,1,3,5,7,9 };
vector<int> vec(&arr[0], &arr[10]); // 将arr中的所有值赋值到vec中
QuickSort(vec, 0, vec.size() - 1);
Print(vec);
system("pause");
return 0;
}
#include <vector>
using namespace std;
void QuickSort(vector<int> &vec, int left, int right)
{
if (left > right)
{
return;
}
int first = left;
int last = right;
int key = vec[first];
while (first < last)
{
while(first < last && vec[last] >= key)
{
last--;
}
vec[first] = vec[last];
while (first < last && vec[first] < key)
{
first++;
}
vec[last] = vec[first];
}
vec[first] = key;
QuickSort(vec, left, first - 1);
QuickSort(vec, first+1, right);
}
void Print(vector<int> &vec)
{
cout << "vec[] = ";
for (vector<int>::iterator iter = vec.begin(); iter != vec.end(); iter++)
{
cout << *iter << " ";
}
cout << endl;
}
int main()
{
int arr[] = { 2,4,6,8,10,1,3,5,7,9 };
vector<int> vec(&arr[0], &arr[10]); // 将arr中的所有值赋值到vec中
QuickSort(vec, 0, vec.size() - 1);
Print(vec);
system("pause");
return 0;
}
阅读全文
1 0
- 【算法】快速排序--C++源代码(VS2015)
- 【算法】冒泡排序--C++源代码(VS2015)
- 【算法】选择排序--C++源代码(VS2015)
- 【算法】Shell排序--C++源代码(VS2015)
- 算法 - 快速排序(C#)
- 快速排序算法(C)
- 排序算法(C实现)--------- 快速排序
- 【算法】分而治之(DivideAndConquer) -- C++源代码(VS2015)
- C++快速排序算法
- 快速排序算法 C
- C快速排序算法
- C快速排序算法
- 排序算法 - 快速排序(C++)
- c语言排序算法源代码
- QuickSort - 快速排序算法(C++)
- QuickSort - 快速排序算法(C++)
- 快速排序算法(C语言)
- 快速排序算法实现(C++)
- Linux容器演变历程与未来发展前景
- nginx配置反向代理及动静分离
- viewpager嵌套viewpager
- 数学理论学习(1)
- 关于atomic_set(v,i)的问题
- 【算法】快速排序--C++源代码(VS2015)
- 学习python中map函数遇到的小问题
- 斐波那契数列,兔子生兔子
- WIN10下MySQL解压版安装
- Android容器化/组件化方案
- visio2010图形组合-拆分-修剪功能
- NOIP1998提高组 进制位
- 9 月 19 日,腾讯云安全中心监测到 Apache Tomcat 修复了2个严重级别的漏洞, 分别为: 信息泄露漏洞(CVE-2017-12616)、远程代码执行漏洞(CVE-2017-12615
- 使用dubbo时报错:注入service出错BeanCreationException: Error creating bean with name。。。