Julia999 发表于 2019-7-30 21:43:50

vector常用操作

本帖最后由 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已知
void tovector(double x)
{
      for (int i = 0; i < 306; i++)
      {
                for (int j = 0; j < 3; j++)
                {
                        temp.push_back(x);
                }
                v_x.push_back(temp);
                temp.clear();
      }
}vector<vector<int> > array(m); //这个m一定不能少
//初始化一个m*n的二维数组
for(int i=0;i<m;i++) {
    array.resize(n);
}

#include<iostream>
#include<vector>
using namespace std;

int main() {
    vector<vector<int> > array(4);
    for(int i=0;i<4;i++) {
      array.resize(5);
    }
    //输出二维数组的行和列
    cout<<"Row:"<<array.size()<<"Column:"<<array.size()<<endl;
    //输出二维数组
    cout<<"["<<endl;
    for(int j=0;j<array.size();j++) {
      cout<<"["<<" ";
      for(int k=0;k<array.size();k++) {
            cout<<array<<" ";
      }
      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
[*]
[*]


页: [1]
查看完整版本: vector常用操作