c/c++语言开发共享c++容器

2019-01-24 22:30:32 记录学习PAT的一些知识,有待更新 注:本文是对Algorithm 算法笔记 的总结 C++标准库模板(Standard Template Library,STL) 【vector】 1.单独定义一个vector vector<typename> name; …



2019-01-24 22:30:32 


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

注:c/c++开发分享c++容器是对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;

 

#include<stdio.h> #include<map> using namespace std; int main(){  map<char,int> mp;  mp['m']=20;  mp['r']=40;  mp['s']=54;  for(map<char,int>::iterator it=mp.begin();it!=mp.end();it++){   print("%c %dn",it->first,it->second);    }  return 0;  }

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 的常见用途

 

 

 

 

 

 

 

 

 

 

 


 

c++容器

 

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/c-cdevelopment/605431.html

(0)
上一篇 2021年5月13日
下一篇 2021年5月13日

精彩推荐