zoukankan      html  css  js  c++  java
  • C++ vector用法

    C++ vector用法

    转至菜鸟教程<C++ vector 容器浅析>

    一、什么是vector

    vector是一个封装了动态大小数组的顺序容器,它能够存放各种类型的对象。

    二、基本函数实现

    1. 构造函数
      • vector()创建一个空vector
      • vector(int nsize)创建一个vector元素个数为nsize。
      • vector(int nsize, const t& t)创建一个vector,元素个数为nsize,且值为t。
      • vector(const vector&)复制构造函数
      • vector(begin, end)复制[begin,end]区间内到另一个数组的元素到vector中
    2. 增加函数
      • void push_back(const T& x):向尾部增加一个元素X
      • iterator insert(iterator it, const T& x)向指定元素前增加一个元素。
      • iterator insert(iterator it, int n, const T& x)项指定元素前增加n个相同的元素x
      • iterator insert(iterator it,const_iterator first,const_iterator last):向量中迭代器指向元素前插入另一个相同类型向量的[first,last)间的数据
    3. 删除函数
      • iterator erase(iterator it)删除指定元素
      • iterator erase(iterator first, iterator last)删除(first, last)中元素
      • void pop_back()删除最后一个元素
      • void clear()清空所有元素
    4. 遍历函数
      • reference at(int pos):返回pos位置元素的引用
      • reference front():返回首元素的引用
      • reference back():返回尾元素的引用
      • iterator begin():返回向量头指针,指向第一个元素
      • iterator end():返回向量尾指针,指向向量最后一个元素的下一个位置
      • reverse_iterator rbegin():反向迭代器,指向最后一个元素
      • reverse_iterator rend():反向迭代器,指向第一个元素之前的位置
    5. 判断函数
      • bool empty() const:判断向量是否为空,若为空,则向量中无元素
    6. 大小函数
      • int size() const:返回向量中元素的个数
      • int capacity() const:返回当前向量所能容纳的最大元素值
      • int max_size() const:返回最大可允许的vector元素数量值
    7. 数组指针
      • T* data():返回数组的首地址

    vector大部分成员函数的使用都比较简单,这里介绍一下T* data()的使用,可以用来拼接数组。

    ::vector<char> v;
    	v.push_back('a');
    	v.push_back('b');
    	char cs = 's';
    	v.push_back(cs);
    	char *d = new char('v');
    	v.push_back(*d);
    	char *ch = v.data();//获取vector中数组的首地址
    	char *dst = new char[v.size()];
    	memset(dst, 0, v.size());
    	memcpy_s(dst, v.size(), ch, v.size());//拷贝到dst数组
    
  • 相关阅读:
    _bzoj1061 [Noi2008]志愿者招募【最小费用最大流】
    _bzoj2243 [SDOI2011]染色【树链剖分】
    _bzoj1013 [JSOI2008]球形空间产生器sphere【高斯消元】
    _bzoj1002 [FJOI2007]轮状病毒【瞎搞】
    leetcode 273 Integer to English Words
    leetcode 12 Integer to Roman
    leetcode 1071 Greatest Common Divisor of Strings
    lc6 ZigZag Conversion
    lc13 Roman to Integer
    leetcode 171 Excel Sheet Column Number
  • 原文地址:https://www.cnblogs.com/zzr-stdio/p/14441360.html
Copyright © 2011-2022 走看看