全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

c++实现对输入数组进行快速排序的示例(推荐)

废话不多说,直接上代码

#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 


相关文章: 如何选择靠谱的建站公司加盟品牌?  如何快速上传自定义模板至建站之星?  建站主机服务器选型指南与性能优化方案解析  建站之星客服服务时间及联系方式如何?  兔展官网 在线制作,怎样制作微信请帖?  网站制作软件免费下载安装,有哪些免费下载的软件网站?  胶州企业网站制作公司,青岛石头网络科技有限公司怎么样?  教育培训网站制作流程,请问edu教育网站的域名怎么申请?  建站VPS配置与SEO优化指南:关键词排名提升策略  建站之星与建站宝盒如何选择最佳方案?  建站主机选择指南:服务器配置与SEO优化实战技巧  网站制作话术技巧,网站推广做的好怎么话术?  网站制作服务平台,有什么网站可以发布本地服务信息?  外贸公司网站制作,外贸网站建设一般有哪些步骤?  如何配置FTP站点权限与安全设置?  建站主机与虚拟主机有何区别?如何选择最优方案?  官网网站制作腾讯审核要多久,联想路由器newifi官网  制作网站的网址是什么,请问后缀为.com和.com.cn还有.cn的这三种网站是分别是什么类型的网站?  邀请函制作网站有哪些,有没有做年会邀请函的网站啊?在线制作,模板很多的那种?  建站之星Pro快速搭建教程:模板选择与功能配置指南  如何选择域名并搭建高效网站?  如何通过wdcp面板快速创建网站?  如何选择高效可靠的多用户建站源码资源?  建站之星代理商如何保障技术支持与售后服务?  c++怎么实现高并发下的无锁队列_c++ std::atomic原子变量与CAS操作【详解】  如何在Golang中使用replace替换模块_指定本地或远程路径  大连 网站制作,大连天途有线官网?  如何在局域网内绑定自建网站域名?  长沙做网站要多少钱,长沙国安网络怎么样?  如何在Mac上搭建Golang开发环境_使用Homebrew安装和管理Go版本  定制建站方案优化指南:企业官网开发与建站费用解析  c++ stringstream用法详解_c++字符串与数字转换利器  小说建站VPS选用指南:性能对比、配置优化与建站方案解析  微网站制作教程,不会写代码,不会编程,怎么样建自己的网站?  如何在阿里云购买域名并搭建网站?  山东云建站价格为何差异显著?  天津个人网站制作公司,天津网约车驾驶员从业资格证官网?  实现虚拟支付需哪些建站技术支撑?  C++如何将C风格字符串(char*)转换为std::string?(代码示例)  如何高效配置香港服务器实现快速建站?  建站之星伪静态规则如何设置?  宝盒自助建站智能生成技巧:SEO优化与关键词设置指南  深圳网站制作公司好吗,在深圳找工作哪个网站最好啊?  建站之星安装后界面空白如何解决?  c# 在ASP.NET Core中管理和取消后台任务  建站之星安装路径如何正确选择及配置?  电商网站制作多少钱一个,电子商务公司的网站制作费用计入什么科目?  ui设计制作网站有哪些,手机UI设计网址吗?  如何制作算命网站,怎么注册算命网站?  东莞市网站制作公司有哪些,东莞找工作用什么网站好? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。