前言:
- 本文面向已有 C 语言和部分算法基础的同学。
- 内容均是个人总结,由于还没有系统的学习过 C++ 的面向对象,也没有翻过 STL 的代码,均以实用的角度来讲,可能不严谨些。
- 接下来介绍的将是一些 C++ STL 容器的使用,特性及一些常用函数。然后还有部分好用的函数。都会以介绍加代码样例的方式写出。
STL:
Vector:
简介:
Vector 可以看做是一个不定长数组,可以对其进行插入元素,删除元素,按下标访问等基本操作。
重要的一点 Vector 是一个数组 而不是一个链表,例如对 Vector 进行插入操作,是基于元素的移位进行的,是 O(n)的复杂度而不是链表的 O(1),但是在其尾部添加元素时是 O(1),应该是内部可以自动优化。
vector 包含在 <vector>
头文件中。
基本操作:
首先创建一个 装着 int 类型元素的 vector。
ps:<int>
这里其实是使用了模板,具体看概念中的模板部分。
vector<int> data;
接下来给 vector 添加元素,这里先向尾部添加元素,也是最常用的添加元素方式。
ps:这里添加是O(1)
data.push_back(1)