码迷,mamicode.com
首页 > 编程语言 > 详细

C++ STL的使用

时间:2020-03-28 21:47:49      阅读:77      评论:0      收藏:0      [点我收藏+]

标签:queue   priority   集合   push   使用   mil   erase   rar   ras   

本文主要介绍C++ STL(Standard Template Library, 标准模板库)常用的容器。

包括但不限于vector、stack、queue、deque、list、priority_queue、map、set。

使用方法均以string类型为例,也可以是自定义元素。

1、 vector

vector<string> sVector;  // 声明一个string类型的vector容器

size()  // 当前存放的元素的个数

capacity()  // 容器的容量,size <= capacity

front()  // 序列的第一个元素

back()  // 序列的最后一个元素

push_back()  // 在序列的尾部添加一个元素

insert()  // 在指定之前位置插入元素,第一个参数为迭代器,第二个参数为要插入的元素

clear()  // 清除所有元素

erase()  // 删除一个元素或一个区域的元素

2、 stack

stack<string> sStack;  // 声明一个string类型的stack容器

top()  // 返回栈顶元素

push()  // 压栈

pop()  // 出栈

size()  // 当前存放的元素个数

empty()  // 当前栈是否为空

3、 queue

queue<string> sQueue;  // 声明一个string类型的queue容器

front()  // 队列的首部元素

back()  // 队列的尾部元素

push()  // 在队列尾部添加元素

pop()  // 删除队列首部元素

size()  // 当前存放的元素个数

empty()  // 当前队列是否为空

4、 list

list<string> sList;  // 声明一个string类型的list容器

push_front()  // 在链表首部插入一个元素

push_back()  // 在链表尾部插入一个元素

empty()  // 当前链表是否为空

clear()  // 清除链表中的所有元素

front()  // 获取链表首部元素

back()  // 获取链表尾部元素

pop_front() // 删除链表首部元素

pop_back()  // 删除链表尾部元素

merge()  // 合并两个链表:merge(mylist, less<string>())

insert()  // 在指定位置之前插入元素

erase()  // 删除一个元素或一个区域的元素

5、 priority_queue

priority_queue<string, vector<string>, less<string>> iPqueue;  // 声明一个string类型的priority_queue容器

top()  // 访问队列顶部元素

empty()  // 队列是否为空

size()  // 当前存放的元素个数

push()  // 插入元素到队列并排序

pop()  // 弹出顶部元素

6、 map

map<int, string> imaps;  // 声明一个<int, string>的映射容器

clear()  // 删除所有元素

empty()  // map是否为空

erase()  // 删除一个元素

find() // 查找一个元素,没有查到则指向容器的end()

insert()  // 插入一个元素

size()  // 当前存放元素的个数

关于元素插入的两种方式:

imaps.insert(pair<string, int>(“test”, 1)); // 存在则插入失败

imaps[“test”] = 1; // 存在则覆盖,不存在则插入

7、 set

set<string> sset;  // 声明一个string类型的集合容器

s.clear()  //  清除所有元素

s.count()  //  返回某个值元素的个数

s.empty()  //  如果集合为空

s.erase()  //  删除集合中的元素

s.find()  //  返回一个指向被查找到元素的迭代器

s.insert()  //  在集合中插入元素

s.size()  //  集合中元素的数目

注意:find() 返回是set<string>::iterator类型;

insert() 返回pair<set<string>::iterator, bool>类型,其中bool类型指明了是否插入成功,iterator指向插入的元素

erase() 返回指向被删除元素的个数,非0即1

 

C++ STL的使用

标签:queue   priority   集合   push   使用   mil   erase   rar   ras   

原文地址:https://www.cnblogs.com/tongyishu/p/12589395.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!