STL中vector自定义对象的排序、删除
来源:互联网 发布:乌鸦森林之谜 mac 编辑:程序博客网 时间:2024/04/19 09:12
做个笔记,记忆学习之路
流程如下:
1、首先定义结构体对象,包括重载它的operator<运算符
2、创建对象并加入到数组中,然后调用stl的排序函数,并指定排序的依据
3、删除自定义类型中指定元素值得元素
1、定义
struct StructStu{int _num1;int _num2;int _num3;StructStu(int num1,int num2,int num3){_num1 = num1;_num2 = num2;_num3 = num3;}bool operator<(const StructStu &right) const{return _num3 < right._num3;}};
2、排序
std::vector<StructStu> structStuVec;StructStu stu1(1,2,3);StructStu stu2(2,3,4);StructStu stu3(3,4,5);StructStu stu4(3,4,6);structStuVec.push_back(stu3);structStuVec.push_back(stu4);structStuVec.push_back(stu1);structStuVec.push_back(stu2);sort(structStuVec.begin(),structStuVec.end(),less<StructStu>());
3、删除指定值得元素
for (auto stuIter = structStuVec.begin(); stuIter != structStuVec.end();){if(stuIter->_num2 == 4){stuIter = structStuVec.erase(stuIter);}else{stuIter++;}}找到指定的元素后,将它从structStuVec中删除对象后,返回下一个可用的元素迭代器,继续作比较。
若找不到指定的元素则迭代至下一个紧挨着的元素,这样就能把我们指定元素值给删除了
0 0
- STL中vector自定义对象的排序、删除
- STL中Vector元素的删除
- c++中vector自定义排序的问题
- vector中自定义结构体的排序
- vector中针对自定义类型的排序
- STL Vector 的遍历删除
- STL Vector 的遍历删除
- stl map vector的删除
- vector中对象指针的排序
- STL中vector和map的查找和删除
- 关于STL容器中vector特定元素的删除问题
- STL中map/vector的删除元素操作
- STL中vector删除一个元素
- C/C++中vector的操作(排序、删除)
- stl的vector,map,list删除元素
- STL中vector的总结
- STL中vector的用法
- STL中vector的实现
- ONE源代码分析——core3之DTNHost类
- android的消息处理机制(图+源码分析)——Looper,Handler,Message
- SQL_实验1.5 清华大学出版社
- javascript
- 使用Thread、Runnable、Handler
- STL中vector自定义对象的排序、删除
- jquery设置元素的readonly和disabled
- 解决低版本ie下li:hover不支持的问题
- -e shell
- 堆排序(未完结)
- struts2 redirectaction
- 将16进制Ascii码转换为string类型的电脑按键字符
- Android利用Gallery和ImageSwitcher实现在线相册图片预览功能(异步加载图片)
- 利用boost 来进行xml解析