STL 序列式容器篇(未完成)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_26822029/article/details/82917028

STL中的容器可以分为序列式容器和关联式容器。序列式容器指其中的元素都可序,但未必有序。在STL中提供了vector, list, deque, stack, queue, priority_queue等等序列式容器。其中stack和queue是由deque改头换面而成。

本篇介绍STL中序列式容器的设计和使用方式。

 

一、vector

欲使用vector需要包含头文件: #include <vector>

1.1 vector设计实现

vector的数据安排以及操作方式,和array特别类似;两者的区别在于array是静态的,分配完内存之后不能再改变了,而vector是动态的,随着元素的加入,其自身会自动扩充空间以容纳新的元素。也就是说如果vector当前申请的空间不够用了,它会自动执行以下操作:申请一块新的内存空间,将当前地址的旧元素一一赋值到新的地址空间中,最后将原来的空间归还给系统。

》》》未完待续《《《

1.2 vector的使用

常用函数一览表:

编号 函数名称 函数解释
1 void push_back(elem) 将elem插入到尾部
2 void pop_back() 删除最后一个元素
3 reference front() 传回第一个元素
4 reference back() 传回最后一个元素
5 iterator erase(pos) 清除pos位置上的数据,传回下一个数据的位置
6 size_t size() 返回容器中实际数据的个数
7 size_t capacity() 返回当前容器能容纳的数据个数
8 void clear() 移除容器内的所有数据,容器能容纳的数据的大小不变
9 bool empty() 判断容器是否为空
10 void insert(pos, elem) 在pos位置插入一个elem拷贝,传回新数据的位置

猜你喜欢

转载自blog.csdn.net/qq_26822029/article/details/82917028