3.4 STL 学习笔记一

这是初次学习STL的相关知识。可能之后还会补充笔记。

STL是提高C++编写效率的一个利器

1.#include

vector 是变长数组,支持随机访问,不支持在任意位置O(1)插入。为了保证效率,元素的增删一般应该在末尾进行。

1.1声明

include //头文件

vector a; //相当于一个长度变化的int数组
vectorb[233];//相当于第一维长233,第二维长度动态变化的int数组

struct rec{...};
vector c;//自定义的结构体类型也可以保存在vector中。

1.2size/empty
size函数返回vector的实际长度(包括元素的个数)
empty函数返回一个bool也行,表明vector是否为空。
二者的时间复杂度都是O(1)。

所有的STL容器都支持这两个方法,含义也相同,之后我们就不再重复给出。 ??? header

1.3clear
clear函数把vector清空。

1.4迭代器
迭代器就像STL容器的指针,可以用星号。
*操作符解除引用。
一个保存int的vector的迭代器声明方法为:
vector::iterator it;

vector迭代器是“随机访问迭代器”,可以把vector的迭代器与一个整数相加减,其行为和指针的移动类似。

posted @ 2024-03-04 09:48  釉色清风  阅读(20)  评论(0)    收藏  举报