|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
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
复制代码
|
|