大佬教程收集整理的这篇文章主要介绍了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,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++实现对输入数组进行快速排序的示例(推荐)就是小编分享给大家的全部@L_673_5@了,希望能给大家一个参考,也希望大家多多支持编程小技巧。
以上是大佬教程为你收集整理的c++实现对输入数组进行快速排序的示例(推荐)全部内容,希望文章能够帮你解决c++实现对输入数组进行快速排序的示例(推荐)所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。