vector使用排序函数实例
2016-08-04 17:43
239 查看
在OJ上遇到一道题,大概是统计各类数据的个数,然后排序。题目描述如下:
如果统计的个数相同,则按照ASII码由小到大排序输出 。如果有其他字符,则对这些字符不用进行统计。实现以下接口:
输入一个字符串,对字符中的各个英文字符,数字,空格进行统计(可反复调用)
按照统计个数由多到少输出统计结果,如果统计的个数相同,则按照ASII码由小到大排序输出
清空目前的统计结果,重新统计
调用者会保证:
输入的字符串以‘\0’结尾。
如果统计的个数相同,则按照ASII码由小到大排序输出 。如果有其他字符,则对这些字符不用进行统计。实现以下接口:
输入一个字符串,对字符中的各个英文字符,数字,空格进行统计(可反复调用)
按照统计个数由多到少输出统计结果,如果统计的个数相同,则按照ASII码由小到大排序输出
清空目前的统计结果,重新统计
调用者会保证:
输入的字符串以‘\0’结尾。
//统计字符 #include <vector> #include<iostream> #include<string> #include<cctype> #include <algorithm> using namespace std; int main() { string str; vector<int> v; vector<int>::iterator iter = v.begin(); getline(cin,str); int len = str.size(), letter_n = 0, digit_n = 0, space_n = 0; for (int i = 0; i<len; i++) { if (isalpha(str[i])) letter_n++; else if (isdigit(str[i])) digit_n++; else if (isspace(str[i])) space_n++; } v.push_back(letter_n); v.push_back(digit_n); v.push_back(space_n); /* for (iter = v.begin(); iter != v.end(); iter++) cout << *iter<<','; cout << endl; */ //普通迭代器输出 cout << "反向迭代器输出: " << endl; vector<int>::reverse_iterator it = v.rbegin(); while (it != v.rend()) { cout << *it << ","; ++it; } return 0; }
相关文章推荐
- python字典(dictionary)使用:基本函数code实例,字典的合并、排序、copy,函数中*args 和**kwargs做形参和实参
- python字典(dictionary)使用:基本函数code实例,字典的合并、排序、copy,函数中*args 和**kwargs做形参和实参
- Vector ArrayList Hashtable的使用实例
- 常用oracle函数使用实例
- SQL 语句技巧--排名函数的使用实例
- 循环与判断/利用函数的简单实例/使用对象/列举对象属性
- 使用Display标签对大量数据使用外部排序实例(二)
- .net中函数的使用实例
- matlab中求和函数sum的具体使用实例
- c++中vector源码及其接口函数实例【4】
- 使用直接插入排序原理对自定义的Vector进行排序
- javascript 不停(setInterval)/延时(setTimeout)函数使用实例
- js入门·循环与判断/利用函数的简单实例/使用对象/列举对象属性的名称
- 自定义函数使用map排序
- javascript实例教程(17) 使用javascript的数学函数
- 学习Ajax框架之dojo:第二节---Dojo的基本函数及使用实例(附源代码)
- js入门·循环与判断/利用函数的简单实例/使用对象/列举对象属性的名称
- SqlServer2005新增排序函数实例解释
- js入门·循环与判断/利用函数的简单实例/使用对象/列举对象属性的名称
- Oracle中函数的使用实例