废话不多说,直接上代码
#include "stdafx.h"
#include <iostream>
#include <string>
#include <vector>
using namespace std;
void quickSort(vector<int> &a, int, int);
void swap(int &a, int&b);
vector<string> split(string s, string seperator);
int main() {
string str;
cout << "please input your array: " << endl;
getline(cin, str);
vector<string> strs = split(str, " ");
cout << "The original array is " << endl;
for (unsigned int i = 0; i < strs.size(); i++) {
cout << strs[i] << " ";
}
cout << endl;
vector<int> array(strs.size());
for (unsigned int i = 0; i < strs.size(); i++) {
array[i] = atoi(strs[i].c_str());
}
int len = array.size();
cout << "The ordered array is " << endl;
quickSort(array, 0, len-1);
for (int i = 0; i < len; i++) {
cout << array[i] << " ";
}
cout << endl;
system("pause");
return 0;
}
void quickSort(vector<int> &a, int start, int base) {
if (start >= base) {
return;
}
int i = start, j = start;
int temp = a[base];
for (;j<base;j++) {
if (a[j]<=temp) {
swap(a[i], a[j]);
i++;
}
}
if (a[i] > a[base]) {
swap(a[i], a[base]);
}
quickSort(a, start, i - 1);
quickSort(a, i + 1, base);
}
void swap(int &a, int&b) {
if (a == b) {
}
else {
a = a + b;
b = a - b;
a = a - b;
}
}
vector<string> split(string s, const string pattern) {
string::size_type pos;
vector<string> result;
s += pattern;
unsigned int size = s.size();
for (unsigned int i = 0; i < size; i++) {
pos = s.find(pattern, i);
if (pos < size) {
string str = s.substr(i, pos - i);
if (!str.empty()){
result.push_back(str);
}
i = pos + pattern.size() - 1;
}
}
return result;
}
以上这篇c++实现对输入数组进行快速排序的示例(推荐)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
# 数组快速排序
# C++实现数组的排序/插入重新排序/以及逆置操作详解
# C++ 先对数组排序
# 在进行折半查找
# C++实现插入排序对整数数组排序
# c++数组排序的5种方法实例代码
# 给大家
# 希望能
# 这篇
# 多说
# 小编
# 大家多多
# std
# void
# quickSort
# string
# gt
# namespace
# vector
# seperator
# main
# str
# split
# int
# amp
# swap
相关文章:
股票网站制作软件,网上股票怎么开户?
公司网站制作价格怎么算,公司办个官网需要多少钱?
定制建站流程步骤详解:一站式方案设计与开发指南
如何选择建站程序?包含哪些必备功能与类型?
清除minerd进程的简单方法
企业网站制作费用多少,企业网站空间一般需要多大,费用是多少?
网站建设制作需要多少钱费用,自己做一个网站要多少钱,模板一般多少钱?
如何解决ASP生成WAP建站中文乱码问题?
建站主机无法访问?如何排查域名与服务器问题
如何在香港免费服务器上快速搭建网站?
广平建站公司哪家专业可靠?如何选择?
再谈Python中的字符串与字符编码(推荐)
C#如何在一个XML文件中查找并替换文本内容
黑客如何利用漏洞与弱口令入侵网站服务器?
如何使用Golang安装API文档生成工具_快速生成接口文档
h5网站制作工具有哪些,h5页面制作工具有哪些?
一键制作网站软件下载安装,一键自动采集网页文档制作步骤?
定制建站价位费用解析与套餐推荐全攻略
如何通过商城免费建站系统源码自定义网站主题?
制作网站建设的公司有哪些,网站建设比较好的公司都有哪些?
定制建站是什么?如何实现个性化需求?
制作网站哪家好,cc、.co、.cm哪个域名更适合做网站?
如何在建站宝盒中设置产品搜索功能?
网站制作公司哪里好做,成都网站制作公司哪家做得比较好,更正规?
开封网站制作公司,网络用语开封是什么意思?
Swift中循环语句中的转移语句 break 和 continue
深圳网站制作案例,网页的相关名词有哪些?
企业在线网站设计制作流程,想建设一个属于自己的企业网站,该如何去做?
香港服务器网站测试全流程:性能评估、SEO加载与移动适配优化
如何彻底删除建站之星生成的Banner?
测试制作网站有哪些,测试性取向的权威测试或者网站?
网站制作怎么样才能赚钱,用自己的电脑做服务器架设网站有什么利弊,能赚钱吗?
电脑免费海报制作网站推荐,招聘海报哪个网站多?
内部网站制作流程,如何建立公司内部网站?
如何快速生成专业多端适配建站电话?
建站之星安装需要哪些步骤及注意事项?
三星网站视频制作教程下载,三星w23网页如何全屏?
长春网站建设制作公司,长春的网络公司怎么样主要是能做网站的?
如何用5美元大硬盘VPS安全高效搭建个人网站?
贸易公司网站制作流程,出口贸易网站设计怎么做?
建站主机类型有哪些?如何正确选型
rsync同步时出现rsync: failed to set times on “xxxx”: Operation not permitted
建站之星五站合一营销型网站搭建攻略,流量入口全覆盖优化指南
如何快速搭建个人网站并优化SEO?
实惠建站价格推荐:2025年高性价比自助建站套餐解析
Swift中swift中的switch 语句
网站制作专业公司有哪些,如何制作一个企业网站,建设网站的基本步骤有哪些?
如何快速重置建站主机并恢复默认配置?
如何用花生壳三步快速搭建专属网站?
*请认真填写需求信息,我们会在24小时内与您取得联系。