vector 插入的时候就排序
来源:互联网 发布:打印机,输入端口名称 编辑:程序博客网 时间:2024/05/19 14:55
http://blog.csdn.net/hzqhbc/article/details/7497646
升序排列的容器:
iterator lower_bound( const key_type &key ): 返回一个迭代器,指向键值>= key的第一个元素。
iterator upper_bound( const key_type &key ):返回一个迭代器,指向键值>key的第一个元素。
★降序排列的容器:
iterator lower_bound( const key_type &key ): 返回一个迭代器,指向键值<= key的第一个元素。
iterator upper_bound( const key_type &key ):返回一个迭代器,指向键值<key的第一个元素。
不论lower_bound 还是 upper_bound 都是把元素从左到右排列(不能升序还是降序),取 key 或者 key右边 的第一个元素的迭代器(假设key也在这序列里面)
插入的时候只要选择好插入的位置就排序了- #include <vector>
- #include <algorithm>
- class CEntity
- {
- public:
- CEntity( int nValue=0 ):m_nValue(nValue)
- {
- }
- int m_nValue;
- };
- class CLess
- {
- public:
- bool operator()( const CEntity& lh, const CEntity& rh )
- {
- //这里还可以进行一些自定义的判断方式
- return lh.m_nValue < rh.m_nValue;
- }
- };
- int _tmain(int argc, _TCHAR* argv[])
- {
- std::vector<CEntity> vEntity1; // 插入排序
- std::vector<CEntity> vEntity2; // 乱序
- for ( int n=0; n<10; n++ )
- {
- nValue = rand()%10;
- vEntity1.insert(std::upper_bound(vEntity1.begin(),vEntity1.end(),CEntity(nValue),CLess()), CEntity(nValue) );
- vEntity2.push_back( CEntity(nValue) );
- }
- }
0 0
- vector 插入的时候就排序
- 使用vector进行排序插入
- deque/vector的插入
- vector的插入操作
- 数据库插入数据的时候,遇到相同的数据,就会报错
- mysql插入数据时候先检查表中有没有相同的数据如果有就删除原来记录插入,没有就直接插入
- 使用直接插入排序原理对自定义的Vector进行排序
- 关于vector容器进行插入排序
- 对包含Struct的Vector就其中的一种属性排序 [转贴]
- 郁闷的时候就看看
- 颓废的时候就看看
- 【归并排序】求逆序对的时候顺手写的,于是就顺手贴了,于是标题就长了
- 【逆序对】写归并排序的时候顺手写的,于是就贴了,于是标题就长了
- vector中 迭代器的使用 以及元素的去重、排序、插入、删除操作。 【小笔记】
- std::vector的排序
- vector<pair<int,int> >的插入排序,字符串中子字符串个数查找
- C++ vector的初始化、添加、遍历、插入、删除、查找、排序、释放操作
- 就排序的测试...
- Bootstrap学习:响应式实用工具
- call cs iub wireshark analysis
- Java遍历Map的常用方法
- 序号前需要加0的情况
- JAVA使用JDBC连接MySQL数据库
- vector 插入的时候就排序
- Dummy output - No Sound Card Detected(转)
- Java解析XML汇总(DOM/SAX/JDOM/DOM4j/XPath)
- 下拉框自动填充文本框
- block的简单使用
- java科学计数法
- c语言练习题 2-1 正整数打印
- Bootstrap学习:字型图标
- DHCP工作过程详解