STL与基础数据结构

内容参考书籍《算法竞赛入门到进阶》

1.vector。

  数组是基本数据结构,有静态数组和动态数组,在比赛中如果空间足够,能用静态数组就用数组,在空间紧张的情况下可以使用STL的vector建立动态数组。

  vector是STL的动态数组,在运行时能根据需要改变数组大小。vector容器是一个模板类,能存放任何类型的对象。

1 vector<int> a;//默认初始化,为空
2 vector<int> b(a);//用a定义b
3 vector<int> a(100);//a有100个值为0的元素
4 vector<int> a(100,6);//100个值为6的元素
5 vector<string> a(10,"null");//10个值为null的元素
6 vector<string> vec(10,"hello");//10个值为hello的元素
7 vector<string> b(a.begin(),a.end());//b是a的复制
8 struct point {int x,y;};
9 vector<point>a;//a用来存坐标(或者向量???或者其他东西?)
View Code

  当然还可以定义多维数组,例如vector<int>a[MAXN];它的一维是固定的MAXN,二维是动态的。用这种方式可以实现图的邻接表的存储。

  vector常用操作:

猜你喜欢

转载自www.cnblogs.com/125418a/p/11735658.html
今日推荐