经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 程序设计 » C++ » 查看文章
c++容器
来源:cnblogs  作者:WhoDreamsSky  时间:2019/1/25 9:25:29  对本文有异议

2019-01-24 22:30:32 


记录学习PAT的一些知识,有待更新

注:本文是对Algorithm 算法笔记 的总结


C++标准库模板(Standard Template Library,STL)

【vector】

1.单独定义一个vector       vector<typename> name;

  • vector<int> name;
  • vector<double> name;
  • vector<char> name;

2.定义vector数组

  • vector<typename> Arrayname[arraySize]
  • 例如 vector<int> vi[100];

3.vector 容器内元素访问

  1. 通过下标访问

定义一个为 vector<typename> vi; 可以直接访问如:vi[0]、vi[1]

  2.通过迭代器访问

  vector<typename>::iterator it;   这样 it 就是一个vector<typename>::iterator 型的变量;

指出的是vi[i]和*(vi.begin()+i)是等价的;(类似于指针)

 

4.vector常用函数解析

(1)push_back();

(2)pop_back()

()size()

()clear()

(5)insert()

(6)erase()

5.vector 的常见用途

(1)存储数据

(2)用连接表存储图




 

【set】

1.set的定义:set<typename> name;

  • set<int> name;
  • set<double> name;
  • set<char> name;
  • set数组的定义: set<typename> Arrayname[arraySize-1]  如:set<int>  a[100];

2.set容器内元素的访问

  • set<typename>::iterator it;   这样 it 就是一个set<typename>::iterator 型的变量;

3.set常用函数

  1. insert()
  2. find()
  3. erase()
  4. size()
  5. clear()

4.set的常见用途

set最主要的作用是自动去重并按升序排序

 


 

【map】

1.map的定义:map<typename1,typename2> mp;

比如:map<string,int> mp;     第一个 typename1 是键的类型,第二个  typename2 是值的类型   注意如果是字符串到整型的映射必须使用string

2.map容器内元素的访问

(1)通过下标,如: mp['c'];

 (2)通过迭代器,如:map<typename1,typename2>::iterator it;

 

  1. #include<stdio.h>
  2. #include<map>
  3. using namespace std;
  4. int main(){
  5. map<char,int> mp;
  6. mp['m']=20;
  7. mp['r']=40;
  8. mp['s']=54;
  9. for(map<char,int>::iterator it=mp.begin();it!=mp.end();it++){
  10. print("%c %d\n",it->first,it->second);
  11. }
  12. return 0;
  13. }

3.map常用函数

  1. find()
  2. erase()
  3. size()
  4. clear()

4.map的常见用途

  1. 需要建立字符与整数之间的映射
  2. 判断大整数或者其他类型的数据是否存在的题目,把map当bool数组使用


 

【queue】

1.queue的定义:queue<typename> name;

2.queue容器内元素的访问

先进先出的结构,所以只能用front() 访问队首元素,或是通过 back() 访问队尾元素

3.queue常用函数

  1. push()
  2. front(),back()
  3. pop()
  4. empty()
  5. size()

4.queue 的常见用途

 

 

 

 

 

 

 

 

 

 

 


 

 

原文链接:http://www.cnblogs.com/250101249-sxy/p/10317448.html

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号