首先,vector的速度比map快,同等数据条件下,使用map更容易超时。
1.一维动态数组
vector <int> s( n ); // n 指的是数组长度
优点:该数组长度可以定义超过普通数组长度
#include<iostream>
#include<vector>
using namespace std;
const int N = 1e8 + 10;
vector < int > s(N);
int main()
{
s[N-1] = 5;
cout << s[N-1];
return 0;
}
输出为 5;
扩展 :全部赋初始值
vector <int> s(n , 2); // 指的是定义一个长度为n的数组,并使其初始值均为2;
vector < int > s(100 , 6);
cout << s[10];
输出为 6 ;
2.二维动态数组
vector < vector <int> > s(n, vector <int>(m)) // n, m均指数组长度
vector<vector<int> >s(100, vector<int>(100));
s[3][3] = 99;
cout << s[3][3];
输出为 99;
扩展 : 全部赋初始值
vector < vector <int> >s(n, vector <int> (m, k)) //n, m均指数组长度 ,k指全部赋初始值为k
vector<vector<int> >s(100, vector<int>(100, 99));
cout << s[3][3];
输出为 99。