linux下练习 c++ 类库中list的特性、关联式容器共性介绍
来源:互联网 发布:淘宝鹊桥注册 编辑:程序博客网 时间:2024/06/07 19:26
/*库模版中 list 特性:双向链表增删:.push_front(element),.pop_front(),.remove(element)不支持下标访问除去重复:.unique() 相邻的重复元素只保留一个排序:.sort(),默认用'<'号比较,自定义类型要重载运算符倒置:.reverse()转移:.aplice(pos,list2),.aplice(pos,list2,pos2), .aplice(pos,list2,pos2_begin,pos2_end) 归并:.merge(list2)*/#include<iostream>using namespace std;#include<list>#include<cassert>#include "print.h"bool mult3(int x,int y)//模3的余数从小到大{x%=3;y%=3;return x<y;}int main(){int a[7]={3,5,5,8,5,1,6};int b[5]={5,7,9,2,4};list<int> li(a,a+7),li2(b,b+5);print(li.begin(),li.end());li.unique();//可自定义判断相等的函数print(li.begin(),li.end());li.sort();//排序li.unique();//去重print(li.begin(),li.end());li.reverse();//倒序print(li.begin(),li.end());li.splice(li.begin(),li2);//转移print(li.begin(),li.end());assert(li2.empty());//判断是否为空,为假时才报错li.remove(5);//删除值为5的所有元素print(li.begin(),li.end());li.sort();li.unique();//去重print(li.begin(),li.end());li2.push_back(3);li2.push_back(5);li2.push_back(9);li2.push_back(10);print(li2.begin(),li2.end());li.merge(li2);//将li2合并到li中print(li.begin(),li.end());b[3]=6;li2.assign(b,b+5);print(li2.begin(),li2.end());li2.sort(greater<int>());//用'>'排序,从大到小print(li2.begin(),li2.end());li2.sort(mult3);//用自写规则排序,从小到大print(li2.begin(),li2.end());return 0;}
//print.h
//print.h#include <iostream>using namespace std;#ifndef print_fun#define print_funtemplate<typename T>///显示序列数据void print(T b,T e,char c=' '){bool isExit=false;while (b!=e){cout<<*b++<<c;isExit=true;}if(isExit) cout<<endl;}#endif
/*关联式容器共性:二叉查找树实现,自动根据关键字排序 set<K>,multiset<K>,map<K,V>,multimap<K,V>查找:.find(key) 失败返回.end()统计:.count(key)删除:.erase(key)插入:.insert(element)区间:.lower_bund(key) //取得关键字为key的第一个元素位置 .upper_bound(key) //取得关键字为key的最后一个元素之后的位置 .equal_range(key) 取得关键字为key的区间,返回pair*/
- linux下练习 c++ 类库中list的特性、关联式容器共性介绍
- linux下练习 c++ 关联式容器共性测试,使用
- linux下练习 c++ 关联式容器map特性
- linux下练习 c++ 关联式容器multimap特性
- STL中的关联式容器的共性
- c++ STL关联式容器的共性(权哥)
- linux下练习 c++ 容器的vector的特性
- linux下练习 c++ 容器的deque的特性
- 特殊容器的共性与特性
- linux下练习 c++ 容器set、multimset的特性
- STL中关联式容器的特性
- STL中序列式容器的共性
- C++primer学习:关联容器练习(4)
- c++ STL序列式容器的共性(权哥)
- 关联式容器映射map练习
- linux下练习 c++ 普通容器的使用
- linux下练习 c++ 序列容器的使用
- linux下练习 c++ 特殊容器、特殊函数的使用
- 解决c++ 调用lua 方式! 避免重复写逻辑对应的lua 函数
- 解决“libsvm classes not in CLASSPATH”问题
- suds 在python3.x上的安装
- C语言混乱代码:加密文本的过滤器(Binary to encrypted text filter)
- 用USB引导安装操作系统
- linux下练习 c++ 类库中list的特性、关联式容器共性介绍
- const *和* const讨论
- lower_bound && upper_bound 小结
- 打印英文字母表与希腊字母表
- 做真正的自己,to be the truthful yourself
- 使用Default Trace查看谁还原了你的数据库?
- 十字链表(写的很漂亮呀!)
- Android项目出现main.xml编译出错和 出现main.out.xml无法编译的解决办法
- 三星210--input中断输入驱动实例