C++ vector<int>& nums 用法一

标签: C vector
11人阅读 评论(0) 收藏 举报
分类:

一维vector

创建一维vector:

vector<int> nums;//不指定长度
vector<int> nums(n); // 指定长度为n 
  • 1
  • 2

添加元素

nums.push_back(1);//直接从数组末端添加
nums[i] = 1;//直接赋值给第i个位置
  • 1
  • 2

删除元素

nums.resize(nums.size-i); //直接将数组长度减小,某种方式上删掉了后面i个
nums.pop_back();//删掉最后一个元素
  • 1
  • 2

数组遍历

for(int i = 0; i < nums.size(); i++){
    cout<<nums[i]<<endl;
}
  • 1
  • 2
  • 3

其他 
获得长度:nums.size() 
排序(O(nlogn)):sort(nums.begin(),nums.end()); 
翻转:reverse(nums.begin(), nums.end()); 
合并两个vector:合并nums1和nums2,并将合并后的数组赋值给nums

vector<int> nums1(m),nums2(n);
vector<int> nums;
nums.resize(m+n);
merge(nums1.begin(), nums1.end(),nums2.begin(),nums2.end(),nums);
  • 1
  • 2
  • 3
  • 4

二维vector

创建m*n的二维vector: 直接定义

vector<vector <int> > nums(m ,vector<int>(n));    //m*n的二维vector
  • 1
小二我上一盘解释:
定义了一个vector容器,元素类型为vector<int>,初始化为包含m个vector<int>对象,每个对象都是一个新创立的vector<int>对象的拷贝,而这个新创立的vector<int>对象被初始化为包含n个0。
  • 1
  • 2
vector<int>(n)表示构造一个无名且含n个0的vector<int>对象。
  • 1
  • 2

  • 1
  • 2

动态创建m*n的二维vector 
方法一:

vector<vector <int> > nums;
nums.resize(m);
for(int i=0;i<m;i++) nums[i].resize(n);
  • 1
  • 2
  • 3

方法二:

vector<vector <int> > nums;
  • 1
  • 2

nums.resize(m,vector<int>(n));

初始化二维数组

vector<vector <int> > nums(m ,vector<int>(n,0));    //m*n的二维vector,所有元素为0
  • 1

获得二维数组的行数:nums.size()
获得二维数组的列数:nums[0].size()

数组遍历

int m = nums.size(),n = nums[0].size();
for(int i = 0; i < m; i++){
    for(int j = 0; j < n; j++){
        cout<<nums[i][j]<<endl;
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

咦 用vector定义二维数组还阔以酱紫 ——vector<node> v[maxn]; //备注:node 是结构体; maxn 是v数组里元素的个数

查看评论

C++ vector用法初记

一维vector 创建一维vector: vectorint> nums;//不指定长度 vectorint> nums(n); // 指定长度为n 添加元素 nums.push_back(1);...
  • nuc_Sheryl
  • nuc_Sheryl
  • 2016-07-20 15:19:18
  • 1032

c++中vector的用法详解

vector(向量): C++中的一种数据结构,确切的说是一个类.它相当于一个动态的数组,当程序员无法知道自己需要的数组的规模多大时,用其来解决问题可以达到最大节约空间的目的.      用法:...
  • hancunai0017
  • hancunai0017
  • 2011-12-01 21:25:06
  • 395176

重点是用数组初始化vector<int>数组啊

在leetcode里做到将两个有序数组合并成一个,在原地第一个数组下进行(假设第一个数组的存储单元够用)本来是一个很简单的问题。自己在随便初始化vector变量时候不知道  vector a(m, m...
  • u013913482
  • u013913482
  • 2016-10-10 21:13:43
  • 737

vector<int>ivec(20) 的理解!

今天看到书本上有一句话是这样写的:要定义一个能够存放20个整shu
  • u011020250
  • u011020250
  • 2014-08-20 15:14:26
  • 376

C++中的vector< vector<int> > v(m, vector<int>(n) );是什么意思

vector > v(m, vector(n) );是什么意思  定义了一个vector容器,元素类型为vector,初始化为包含m个vector对象,每个对象都是一个新创立的vector对象的拷贝...
  • whl583593404
  • whl583593404
  • 2015-11-12 20:22:35
  • 708

C++ vector用法(详解!!函数,实现)

1,简述一下vector的基本操作,它的size,capacity(),clear,reverse,reserve,   push_back等!!! 2,说说,vector的存储特性,是顺序存储还...
  • msdnwolaile
  • msdnwolaile
  • 2016-09-30 01:13:40
  • 13209

C++Vector用法

转载自:http://blog.csdn.net/pandy1110/article/details/5963908 C++内置的数组支持容器的机制,但是它不支持容器抽象的语义。要解决此问题我们...
  • qinix2
  • qinix2
  • 2012-08-02 17:12:46
  • 11010

数学

7 Reverse Integer24.3%Easy Reverse digits of an integer. Example1: x = 123, return 321 Ex...
  • m0_37693059
  • m0_37693059
  • 2017-07-24 14:03:00
  • 116

vector内存释放机制

vector   中的内建有内存管理,当   vector   离开它的生存期的时候,它的析构函数会把   vector   中的元素销毁,并释放它们所占用的空间,所以用   vector   一般不...
  • u014774781
  • u014774781
  • 2015-09-03 20:40:24
  • 3020
    个人资料
    持之以恒
    等级:
    访问量: 7937
    积分: 355
    排名: 22万+
    最新评论