欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

vector

程序员文章站 2022-03-01 23:17:57
...

小生不才一个vector入门献给大家,如有补充和错误欢迎指出,谢谢!

vector(向量): C++中的一种数据结构,确切的说是一个类.它相当于一个动态的数组,当程序员无法知道自己需要的数组的规模多大时,用其来解决问题可以达到最大节约空间的目的

用法:

1.头文件: #include<vector>

2.变量声明:

             vector <int> a;(等于声明了一个int数组a[],大小没有指定,需要动态的向里面添加删除)。

             vector<vector<int> > a (等于声明了一个int数组a[][]) (注意string后的尖括号后面有个空格),否则被认为格式错误。

多维的使用嵌套就可以;

3.1使用:简单举个例子

#include <iostream>
#include <vector>
using namespace std;
 
 
int main()
{
	vector< vector<int> > a(20);
	for(int i = 0; i < 20; i++) 
	{ 
		for(int j = 0; j < 20; j++) 
		{
			a[i].push_back(i+j);
		}
	}
	for(int i = 0; i < 20; i++) 
	{ 
		for(int j = 0; j < 20; j++) 
		{
			cout  << a[i][j] << " " ;
		}
		cout << endl;
	}
	return 0;
}

 1.push_back   在数组的最后添加一个数据
2.pop_back    去掉数组的最后一个数据 
3.at                得到编号位置的数据
4.begin           得到数组头的指针
5.end             得到数组的最后一个单元+1的指针
6.front        得到数组头的引用
7.back            得到数组的最后一个单元的引用
8.max_size     得到vector最大可以是多大
9.capacity       当前vector分配的大小
10.size           当前使用数据的大小
11.resize         改变当前使用数据的大小,如果它比当前使用的大,者填充默认值
12.reserve      改变当前vecotr所分配空间的大小
13.erase         删除指针指向的数据项
14.clear          清空当前的vector
15.rbegin        将vector反转后的开始指针返回(其实就是原来的end-1)
16.rend          将vector反转构的结束指针返回(其实就是原来的begin-1)
17.empty        判断vector是否为空
18.swap         与另一个vector交换数据

3.2  详细的函数实现功能:其中vector<int> c.

                             c.clear()         移除容器中所有数据。

                             c.empty()         判断容器是否为空。

                             c.erase(pos)        删除pos位置的数据

                             c.erase(beg,end) 删除[beg,end)区间的数据

                             c.front()         传回第一个数据。

                             c.insert(pos,elem)  在pos位置插入一个elem拷贝

                             c.pop_back()     删除最后一个数据。

                             c.push_back(elem) 在尾部加入一个数据。

                             c.resize(num)     重新设置该容器的大小

                             c.size()         回容器中实际数据的个数。

                             c.begin()           返回指向容器第一个元素的迭代器

                             c.end()             返回指向容器最后一个元素的迭代器
 

 

 

相关标签: vector