[C++]对字符串向量排序
来源:互联网 发布:js 当前页刷新 编辑:程序博客网 时间:2024/06/02 10:53
让字符串向量首先按字符串长度进行排序,长度短的在前,长的在后。如果长度相等则按字典序排序,并移除重复的字符串。
去重复并按字典序排序:
void elimDumps(vector<string> &words){// 按字典序排序sort(words.begin(), words.end());// unique重排输入范围,使得每个单词只出现一次// 并排列在范围的前部,返回指向不重复区域之后一个位置的迭代器auto end_unique = unique(words.begin(), words.end());// 删除重复单词words.erase(end_unique, words.end());}
比较函数,用来按长度排序单词:
bool isShorter(const string &s1, const string &s2){return s1.size() < s2.size();}
主函数:
int _tmain(int argc, _TCHAR* argv[]){// 创建并初始化字符串向量vector<string> words{ "aaa", "c", "eeee", "b", "cccc", "c" };// 移除重复单词并按字典序排序elimDumps(words);// 将向量按字符串大小排序,使用稳定排序算法保持相同长度的单词按字典序排列stable_sort(words.begin(), words.end(), isShorter);for (auto &s : words){cout << s << endl;}return 0;}
程序执行结果:
0 0
- [C++]对字符串向量排序
- C语言读取字符串,并对字符串排序
- 对文本中的字符串进行排序(C语言)
- C语言 对输入的一个字符串进行排序
- C语言-对输入的n个字符串进行排序
- C语言-动态分配内存对任意个字符串进行排序
- STL对字符串排序
- qsort对字符串排序
- 对字符串进行排序
- sort对字符串排序
- C程序之4:向量归并排序
- c++primer要点-字符串、向量和数组
- 向量对向量求导
- c++-字符串排序-冒泡排序
- c程序字符串排序
- C字符串排序
- C 字符串数组排序
- C 字符串排序
- 关于SNS动态消息的思路和处理。
- mysql存储过程的创建
- 时间格式转换---从毫秒转换为分秒时间格式
- awk命令详解
- 做超一流技术,成就一流职业高手
- [C++]对字符串向量排序
- 第十二周 课后实践:项目四——点,圆的关系(5)
- 保存几篇文章,以后有空时再看!
- placeholde 兼容问题
- 解决IllegalStateException: Can not perform this action after onSaveInstanceState
- nodejs(npm)——创建全局链接
- 分页
- UITableView使用详解
- Android ListView 分类显示(二)多布局显示