马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 Julia999 于 2019-7-30 21:44 编辑
最近在搞一个项目,需要用到二维的vector,所以想着总结一下,也方便日后的使用和交流~
当然,我所写的东西都是很简单基础知识,但是所有的大工程其实都是一点点搭建起来的。
使用vector,首先需要导入头文件#include<vector>
定义一维vector,并初始化:vector<int>vec;
for (int i = 0; i<100; i++)
{
vec.push_back(i);
}
定义二维vector,并初始化:vector<vector<double>> v_x;
vector<double>temp;
//double x[306][3]已知
void tovector(double x[306][3])
{
for (int i = 0; i < 306; i++)
{
for (int j = 0; j < 3; j++)
{
temp.push_back(x[i][j]);
}
v_x.push_back(temp);
temp.clear();
}
}
vector<vector<int> > array(m); //这个m一定不能少
//初始化一个m*n的二维数组
for(int i=0;i<m;i++) {
array[i].resize(n);
}
#include<iostream>
#include<vector>
using namespace std;
int main() {
vector<vector<int> > array(4);
for(int i=0;i<4;i++) {
array[i].resize(5);
}
//输出二维数组的行和列
cout<<"Row:"<<array.size()<<" Column:"<<array[0].size()<<endl;
//输出二维数组
cout<<"["<<endl;
for(int j=0;j<array.size();j++) {
cout<<"["<<" ";
for(int k=0;k<array[0].size();k++) {
cout<<array[j][k]<<" ";
}
cout<<"]"<<endl;
}
cout<<"]"<<endl;
return 0;
}
判断一个元素是否出现在vector中vector<int>::iterator ret;
ret = std::find(index4.begin(), index4.end(), 1);
if (ret == index4.end())
{
cout<<"找不到!"<<endl;
}
else
{
cout<<“找到了!”<<endl;
}
清空vector//1.清除元素不回收内存
vec.clear();
cout << vec.size() << endl;//输出0
cout << vec.capacity() << endl;//输出141
//2.清除元素回收内存
vector<int>().swap(vec);//或者vec.swap(vector<int>());
cout << vec.size() << endl;//输出0
cout << vec.capacity() << endl;//输出0
|