【c++STL——第一讲】vector系列 (常用知识点总结)

发布时间:2023-05-21 10:00

ฅ(๑˙o˙๑)ฅ 大家好, 欢迎大家光临我的博客:面向阿尼亚学习
算法学习笔记系列持续更新中~

\"阿\"


文章目录

  • 一、前言
  • 二、vector的定义
  • 三、vector的常用函数
  • 四、vector的遍历方法
  • 最后


一、前言

在 C++ 中,要使用STL中的vector,需要先调用头文件#include < vector >
vector 是一个十分有用的容器。它能够像容器一样存放各种类型的对象,简单地说,vector是一个能够存放任意类型的动态数组,能够增加和压缩数据。

vector(变长数组),倍增的思想,支持比较运算(按字典序)


二、vector的定义

​    vector <int> a; 定义:一个vector数组a

​    vector <int> a(10); 定义:一个长度为10的vector数组a

​    vector <int> a(10,3); 定义:一个长度为10的vector数组a,并且所有元素都为3

三、vector的常用函数

    size(); 返回元素个数

​    empty(); 判断a是否为空,空则返回true,非空则返回falseclear(); 清空

​    front(); 返回vector的第一个数

​    back(); 返回vector的最后一个数

​    push_back(); 向vector的最后插入一个数

​    pop_back(); 把vector的最后一个数删掉

​    begin(); vector的第0个数

​    end(); vector的最后一个的数的后面一个数

  倍增的思想:

​    系统为某一程序分配空间是,所需时间,与空间大小无关,与申请次数有关

代码样例

#include
#include
using namespace std;
int main () {
	vector<int> v;//定义一个vector v

	for(int i=0; i<5; i++) {
		v.push_back(i);
	}
	//返回元素个数
	cout<<v.size()<<endl;
	//返回vector的第一个数
	cout<<v.front()<<endl;
	//返回vector的最后一个数
	cout<<v.back()<<endl;

	for(auto x : v) {//遍历输出
		cout << x << \" \";
	}
	cout<<endl;
	//清除所有元素
	v.clear();
	cout<<v.size()<<endl;
	return 0;
}

输出结果
5
0
4
0 1 2 3 4
0


结合算法erase() reverse()
#include< algorithm>

   a.erase(p)//从a中删除迭代器p指定的元素,p必须指向c中的一个真实元素,不能是最后一个元素end()
   
   a.erase(b,e)//从a中删除迭代器对b和e所表示的范围中的元素,返回e

   vector<int> a={1,2,3,4,5};
   
   reverse(a.begin(),a.end());//a的值为5,4,3,2,1  倒置

四、vector的遍历方法


​    假设有个vector <int> a;

​    第一种:

​      for(int i = 0;i < a .size();i ++) 
         cout<<a[i]<<\" \";

​    第二种:

​      for(vector <int>::iterator i = a. begin();i != a. end();i ++)
        cout<<*i<<\" \"; vector <int>::iterator可以写为auto

​    第三种:

​      for(auto x : a) cout<<x<<\" \";//C++11的新语法

最后

莫言真理无穷尽,寸进自有寸进欢\"【c++STL——第一讲】vector系列

ItVuer - 免责声明 - 关于我们 - 联系我们

本网站信息来源于互联网,如有侵权请联系:561261067@qq.com

桂ICP备16001015号