多维向量vector的初始化

来源:互联网 发布:免谷歌软件下载商店 编辑:程序博客网 时间:2024/05/05 19:19
 vector<vector<int> > ope;

对于ope多维向量来说,如果没有初始化其长度,是不可以通过ope[0][1]来初始化的,这时系统会报错!

解决方法:

1.就是用push_back()函数向末尾添加元素。

#include<iostream>#include<vector>#include<stdio.h>using namespace std;int main(){    vector<vector<int> > ope;vector<int>p;    int x,y;    int counts =0;    //c语言中不设置多维数组的大小,是不可以用[]来访问的,可以向后面添加元素while(cin>>x>>y){p.clear();//注意数组的清空p.push_back(x);p.push_back(y);ope.push_back(p);}    for(int i=0;i<ope.size();i++){        cout<<ope[i][0]<<" ";        cout<<ope[i][1]<<endl;    }    return 0;}
2.先声明每一维数组的大小,再用operate[]初始化。
#include<iostream>#include<stdio.h>using namespace std;int main(){    vector< vector<int> > ope;    int x,y;    ope.resize(3);    for(int i=0;i<3;i++){        ope[i].resize(3);    }    int counts=0;    while(scanf("%d %d",&x,&y)==2){//c语言中不设置多维数组的大小,是不可以用[]来访问的,可以向后面添加元素        ope[counts][0]=x;        ope[counts++][1]=y;    }    for(int i=0;i<ope.size();i++){        cout<<ope[i][0]<<" ";        cout<<ope[i][1]<<endl;    }    return 0;}




0 0
原创粉丝点击