cb49a_c++_STL_算法_对所有元素排序_sort_stable_sort
cb49a_c++_STL_算法_对所有元素排序_sort_stable_sort
sort(b,e)
sort(b,e,p)
stable_sort(b,e)
stable_sort(b,e,p) 注意:
不适用于list容器,list有成员函数sort();
cb49a_c++_STL_算法_对所有元素排序_sort_stable_sort
sort(b,e)
sort(b,e,p)
stable_sort(b,e) //stirng,按字符个数排序.能够保证位置间前面一致。比如 22 33 55. 555, 如果按个数排序, 22能够保证一直在33前。
stable_sort(b,e,p)//
/*cb49a_c++_STL_算法_对所有元素排序_sort_stable_sort
sort(b,e)
sort(b,e,p)
stable_sort(b,e)
stable_sort(b,e,p) 注意:
不适用于list容器,list有成员函数sort();
*/ #include <iostream>
#include <algorithm>
#include <functional>
#include <vector>
#include <deque> using namespace std; template <typename TT9>
void print9(TT9 &ideq)
{
for (TT9::iterator iter = ideq.begin(); iter != ideq.end(); ++iter)
cout << *iter << ' ';
cout << endl;
} int main()
{
deque<int> ideq; for (int i = ; i <= ; ++i)
ideq.push_back(i);
for (int i = ; i <= ; ++i)
ideq.push_back(i);
print9(ideq); sort(ideq.begin(),ideq.end());
cout << "默认是less,从小到大排序后: " << endl;
print9(ideq); //sort(ideq.begin(), ideq.end(),less<int>());//默认是less,从小到大排列
sort(ideq.begin(), ideq.end(),greater<int>());//从大到小
cout << "从大到小排序后: " << endl;
print9(ideq); return ;
}
/*cb49a_c++_STL_算法_对所有元素排序_sort_stable_sort
sort(b,e)
sort(b,e,p)
stable_sort(b,e) //stirng,按字符个数排序.能够保证位置间前面一致。比如 22 33 55. 555, 如果按个数排序, 22能够保证一直在33前。
stable_sort(b,e,p)// 注意:
不适用于list容器,list有成员函数sort();
*/ #include <iostream>
#include <algorithm>
#include <functional>
#include <vector>
#include <string> using namespace std; template <typename TT9>
void print9(TT9 &ideq)
{
for (TT9::iterator iter = ideq.begin(); iter != ideq.end(); ++iter)
cout << *iter << ' ';
cout << endl;
}
bool lessLength(const string &s1, const string &s2)
{
return s1.length() < s2.length();
} int main()
{
vector<string> svec;
vector<string> svec2;
svec.push_back("1xxxx");
svec.push_back("2x");
svec.push_back("3x");
svec.push_back("4x");
svec.push_back("5xx");
svec.push_back("6xxxx");
svec.push_back("7xx");
svec.push_back("8xxx");
svec.push_back("9xx");
svec.push_back("10xxx");
svec.push_back("");
svec.push_back("");
svec.push_back("");
svec.push_back("");
svec.push_back("14xx");
svec.push_back("");
svec.push_back(""); svec2 = svec;
print9(svec); sort(svec.begin(), svec.end(), lessLength);
print9(svec); cout << "稳定的排序:" << endl;
//stable_sort(b, e, p)//
stable_sort(svec2.begin(), svec2.end(), lessLength);
print9(svec2); return ;
}
cb49a_c++_STL_算法_对所有元素排序_sort_stable_sort的更多相关文章
- STL_算法_对全部元素排序(sort、stable_sort)
C++ Primer 学习中. . . 简单记录下我的学习过程 (代码为主) //大部分容器适用.不适用于list容器 sort(b,e) sort(b,e,p) stable_sort(b,e) ...
- cb51a_c++_STL_算法_根据第n个元素排序nth_element
cb51a_c++_STL_算法_根据第n个元素排序nth_elementnth_element(b,n,e),比如最大的5个数排序,或者最小的几个数nth_element(b,n,e,p)对比:pa ...
- cb50a_c++_STL_算法_局部排序partial_sort
cb50a_c++_STL_算法_局部排序partial_sort partial_sort(b,se,e)排序一部分,begin,source end,endcout << " ...
- cb26a_c++_STL_算法_元素计数
cb26a_c++_STL_算法_元素计数所有容器都可以使用countcount_if关联容器的等效成员函数,容器自己的成员函数速度较快1.set.count2.multiset.count3.map ...
- cb37a-_c++_STL_算法_复制元素copy_copy_backward
cb37a-_c++_STL_算法_复制元素copy_copy_backward copy(),同一个容器内部区间的拷贝,或者容器与容器之间的拷贝copy_backward()//向后copy 注意: ...
- cb36a_c++_STL_算法_区间的比较equal_mismatch_lexicographical_compare
*cb36a_c++_STL_算法_区间的比较equal_mismatch_lexicographical_compare 区间:容器中的全部数据或者部分数据,都叫做区间 equal(b,e,b2), ...
- cb32a_c++_STL_算法_查找算法_(5)adjacent_find
cb32a_c++_STL_算法_查找算法_(5)adjacent_findadjacent_find(b,e),b,begin(),e,end()adjacent_find(b,e,p),p-par ...
- cb47a_c++_STL_算法_排列组合next_prev_permutation
cb47a_c++_STL_算法_排列组合next_prev_permutation 使用前必须先排序.必须是 1,2,3或者3,2,1.否者结果不准确.如果, 1,2,4,6.这样数据不会准确nex ...
- cb43a_c++_STL_算法_删除_(1)remove_remove_if
cb43a_c++_STL_算法_删除_(1)remove_remove_ifremove()remove_if() 注意:1.并不是真正的删除,而是把后面的元素向前移动,覆盖被删除元素,元素个数并没 ...
随机推荐
- Istio VirtualService 虚拟服务
概念及示例 VirtualService 描述了一个或多个用户可寻址目标到网格内实际工作负载之间的映射 . 虚拟服务让您配置如何在服务网格内将请求路由到服务,这基于 Istio 和平台提供的基本的连通 ...
- Ant 的最完整build.xml(转)
Ant的概念 Make命令是一个项目管理工具,而Ant所实现功能与此类似.像make,gnumake和nmake这些编译工具都有一定的缺陷,但是Ant却克服了这些工具的缺陷.最初Ant开发者在开发跨平 ...
- 微信小程序语音同步智能识别的实现案例
目录 一.背景 二.同声传译插件介绍 1. 微信小程序后台添加插件 2. 微信小程序启用插件 三.语音同步转换的前端实现 1.界面UI与操作 2.代码实现 四.后端SpringBoot实现语音文件上传 ...
- 读Pyqt4教程,带你入门Pyqt4 _004
在PyQt4教程的这部分中,我们将探讨应用中事件和信号的发生. 事件是GUI程序的重要部分,由用户或者系统产生.当我们调用应用的 exec_() 方法,应用进入主循环.主循环获取事件并把它们发往对象. ...
- Netty学习笔记(番外篇) - ChannelHandler、ChannelPipeline和ChannelHandlerContext的联系
这一篇是 ChannelHandler 和 ChannelPipeline 的番外篇,主要从源码的角度来学习 ChannelHandler.ChannelHandler 和 ChannelPipeli ...
- 【大厂面试02期】Redis过期key是怎么样清理的?
PS:本文已收录到1.1K Star数开源学习指南--<大厂面试指北>,如果想要了解更多大厂面试相关的内容,了解更多可以看 http://notfound9.github.io/inter ...
- Java实现 蓝桥杯 算法提高 最大乘积
算法提高 最大乘积 时间限制:1.0s 内存限制:512.0MB 提交此题 问题描述 对于n个数,从中取出m个数,如何取使得这m个数的乘积最大呢? 输入格式 第一行一个数表示数据组数 每组输入数据共2 ...
- Java实现 LeetCode 481 神奇字符串
481. 神奇字符串 神奇的字符串 S 只包含 '1' 和 '2',并遵守以下规则: 字符串 S 是神奇的,因为串联字符 '1' 和 '2' 的连续出现次数会生成字符串 S 本身. 字符串 S 的前几 ...
- Java实现 蓝桥杯VIP 算法提高 栅格打印问题
算法提高 栅格打印问题 时间限制:1.0s 内存限制:512.0MB 问题描述 编写一个程序,输入两个整数,作为栅格的高度和宽度,然后用"+"."-"和&quo ...
- java实现第二届蓝桥杯最小公倍数(c++)
最小公倍数. 为什么1小时有60分钟,而不是100分钟呢?这是历史上的习惯导致. 但也并非纯粹的偶然:60是个优秀的数字,它的因子比较多. 事实上,它是1至6的每个数字的倍数.即1,2,3,4,5,6 ...