鱼C论坛

 找回密码
 立即注册
查看: 1743|回复: 0

vector常用操作

[复制链接]
发表于 2019-7-30 21:43:50 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

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



想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-22 18:13

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表