#include<bits/stdc++.h>
using namespace std;
vector<int> a(5,2);//定义一个初始长度为5,每个元素值为2的可变数组
vector<char> b(3);//定义一个初始长度为3,每个元素为默认值的可变数组
vector<int> v;//定义一个长度为0的可变数组v
int main(){//依次给三个可变数组添加一个元素a.push_back(18);//添加第六个元素a[5]b.push_back('s');//b[3] b.push_back('c');//b[4] v.push_back(2);//v[0]//(输入、输出和赋值)均支持随机访问cout<<a[5]<<" "<<b[3]<<" "<<b[4]<<" "<<v[0]<<endl;b[0]='a';cout<<b[0]<<endl; //获取长度的方式和string类一样cout<<a.size()<<endl;//调整长度a.resize(10,8);//长度增加 for(int i=0;i<10;i++) cout<<a[i]<<" "; cout<<endl;a.resize(2);//长度缩短 for(int i=0;i<2;i++) cout<<a[i]<<" ";return 0;
}
第一题
#include<bits/stdc++.h>
using namespace std;
vector<int> v(1);//v[0]不用
int n,m;
int main(){cin>>n>>m;while(n--){int x;cin>>x;//学号依次加入到可变数组v中 v.push_back(x);}while(m--){int x;cin>>x;//读取下标为x的(即第x个加入到动态数组的)学号 cout<<v[x]<<endl;}return 0;
}
第二题
#include<bits/stdc++.h>
using namespace std;
const int N=1e5+5;
vector<int> v[N];
vector< vector<int> > v(N);//定义N个空柜子,比如v[5]表示第5个柜子并且初始化的长度为0
int n,q;
int main(){cin>>n>>q;while(q--){int op,i,j,k;cin>>op>>i>>j;if(op==1)//存放{cin>>k;if(v[i].size()<j+1) //第i个柜子的格子数不够v[i].resize(j+1);v[i][j]=k;//利用随机访问的特性直接赋值 } else{cout<<v[i][j]<<endl;} }return 0;
}