容器map与set的增删查改
来源:互联网 发布:大学生艾滋病数据 编辑:程序博客网 时间:2024/06/04 18:54
set的特性是所有元素都会根据元素的键值自动被排序。set的键值就是实值,set不允许两个元素有相同的键值。
标准的STL即以RBTree作为底层机制。
下面我做一个简单的sret测试
//#include<stdio.h>//#include"RBTree.h"//#include<windows.h>//int main()//{// TestRBTree();// system("pause");//}#include<set>#include<iostream>#include<windows.h>using namespace std;int main(){ int i; int ia[6] = {0,1,2,3,4,5}; set<int> iset(ia, ia+6); cout<<"size="<<iset.size()<<endl; cout<<"3 count="<<iset.count(3)<<endl; iset.insert(3); cout<<"size="<<iset.size()<<endl; iset.erase(1); cout<<"size="<<iset.size()<<endl; cout<<"1 count="<<iset.count(1)<<endl; set<int>::iterator ite1=iset.begin(); set<int>::iterator ite2=iset.end(); for(; ite1 != ite2; ++ite1) { cout<< *ite1; cout<<endl; } ite1 = iset.find(3); if(ite1 != iset.end()) { cout<<"3 found" <<endl; } ite1 = iset.find(1); if(ite1 == iset.end()) { cout<<"1 not found"<<endl; } //通过迭代器来修改set元素,是不能通过的 //*ite1 = 8; system("pause");}
map的特性是所有元素都会根据元素键值自动排序。map的所有元素都是pair,同时拥有value和key。map也不允许两个元素拥有相同的键值。
pair的定义
template<class K,class V>struct pair{ k first; v second;}
个人觉得两者的很多方面的实现都很相似
我主要看一下map中operator[]的特点
很明显可以看出来 其返回的是带&的值,即可以修改。
那么我们来试一下//该段代码引用自cplusplus
// accessing mapped values#include <iostream>#include <map>#include <string>int main (){ std::map<char,std::string> mymap; mymap['a']="an element"; mymap['b']="another element"; mymap['c']=mymap['b']; std::cout << "mymap['a'] is " << mymap['a'] << '\n'; std::cout << "mymap['b'] is " << mymap['b'] << '\n'; std::cout << "mymap['c'] is " << mymap['c'] << '\n'; std::cout << "mymap['d'] is " << mymap['d'] << '\n'; std::cout << "mymap now contains " << mymap.size() << " elements.\n"; return 0;}
阅读全文
0 0
- 容器map与set的增删查改
- map和set增删查改
- map的 增删改查 操作
- map的增删改查说明
- JSP与数据库的增删改查
- php与mysql的增删改查
- Python初见 List,Tuple,Dict,Set的增删改查
- 用map写的电话本增删改查
- set与map容器
- set与map容器
- set与map容器
- 【数据结构】map 和 set 增、删、查、改的使用
- List<Map<String, Object>>增删改查
- map与set容器的使用
- Java 与SQLserver的连接 与增删改查
- datagridview的增删改查
- jdbc的增删改查
- GridView 的增删改查
- Linux-----第三课:dev_mountpoint
- Could not publish server configuration for Tomcat v7.0 Server at localhost.
- 表单那些事——ios浏览器表单上<input type="submit" />不一致的解决方法
- 九章算法 第一节 Algorithm Interview & Coding Style
- DataGridView显示Excel表格
- 容器map与set的增删查改
- jQuery控制table进行添加和删除
- 向有序的环形单链表中插入新节点
- OpenStack之Horizon源码架构浅析(二)之启动流程分析(简约版)
- 『 Spark 』10. spark 机器学习
- 微信公号“架构师之路”学习笔记(一)-无限容量数据库架构设计(数据库分组、分片架构等)
- 针对匿名用户ftp服务的一些设定
- install pip3 for python 3.x,在python上安装pip3
- FormData和serialize表单序列化