全网整合营销服务商

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

免费咨询热线: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 


相关文章: 股票网站制作软件,网上股票怎么开户?  公司网站制作价格怎么算,公司办个官网需要多少钱?  定制建站流程步骤详解:一站式方案设计与开发指南  如何选择建站程序?包含哪些必备功能与类型?  清除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小时内与您取得联系。