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.并不是真正的删除,而是把后面的元素向前移动,覆盖被删除元素,元素个数并没 ...
随机推荐
- spring的各种注入
java package cn.ioc.student; import java.util.List; import java.util.Map; import java.util.Set; publ ...
- 【JavaScript数据结构系列】04-优先队列PriorityQueue
[JavaScript数据结构系列]04-优先队列PriorityQueue 码路工人 CoderMonkey 转载请注明作者与出处 ## 1. 认识优先级队列 经典的案例场景: 登机时经济舱的普通队 ...
- Python 每日一练(2)
引言 我又双叒叕的来啦,新博客的第二篇文章,这次是继之前公众号上每日一练的第二个,这次是专题实对于文件的一些处理的练习 主要有以下几类: 1.实现英文文章字频统计 2.统一剪裁某一指定目录下的所有图片 ...
- java方式实现基数排序
一.基数排序描述 基数排序(radix sort)属于"分配式排序"(distribution sort),又称"桶子法"(bucket sort)或bin s ...
- css 禁用浏览器滚动条,初始最外层包含容器 wrapper
浏览器默认的视窗会随着滚动条滚动,绝对定位的元素会随着滚动条滚动,为了解决这个问题我们需要禁止浏览器的滚动条,然后在代码的最外层初始化一个 div(最外层包含容容器代替默认的视窗),是滚动天出现在最外 ...
- C实现进程间通信(管道; 共享内存,信号量)
最近学习了操作系统的并发:以下是关于进程间实现并发,通信的两个方法. 例子: 求100000个浮点数的和.要求: (1)随机生成100000个浮点数(父进程). (2)然后创建4个后代进程,分别求25 ...
- Rocket - interrupts - Xbar
https://mp.weixin.qq.com/s/icPGf4KdSOudwuNpLxdo7w 简单介绍Xbar的实现. 1. 简单介绍 IntXbar主要用于把上游多个中断源的中断组合在一起,然 ...
- STC15系列通用-STC15F2K60S2/STCW4K32S4读取DHT11温湿度传感器数据串口输出代码实例工程免费下载
//为了方便大家调试,另附程序工程共大家下载,下载地址:https://www.90pan.com/b1908750 //************************** //程序说明:stc ...
- Java实现 LeetCode 628 三个数的最大乘积(暴力大法)
628. 三个数的最大乘积 给定一个整型数组,在数组中找出由三个数组成的最大乘积,并输出这个乘积. 示例 1: 输入: [1,2,3] 输出: 6 示例 2: 输入: [1,2,3,4] 输出: 24 ...
- Java实现 LeetCode 295 数据流的中位数
295. 数据流的中位数 中位数是有序列表中间的数.如果列表长度是偶数,中位数则是中间两个数的平均值. 例如, [2,3,4] 的中位数是 3 [2,3] 的中位数是 (2 + 3) / 2 = 2. ...