设为首页 加入收藏

TOP

c++中的vector的简介
2017-10-09 08:55:55 】 浏览:6506
Tags:vector 简介

向量 vector 是一种对象实体, 能够容纳许多其他类型相同的元素, 因此又被称为容器。 与string相同, vector 同属于STL(Standard Template Library, 标准模板库)中的一种自定义的数据类型, 可以广义上认为是数组的增强版。

在使用它时, 需要包含头文件 vector, #include
   
     vector 容器与数组相比其优点在于它能够根据需要随时自动调整自身的大小以便容下所要放入的元素。此外, vector 也提供了许多的方法来对自身进行操作。 
   

声明和初始化:

vector
   
     a ; //声明一个int型向量a vector
    
      a(10) ; //声明一个初始大小为10的向量 vector
     
       a(10, 1) ; //声明一个初始大小为10且初始值都为1的向量 vector
      
        b(a) ; //声明并用向量a初始化向量b vector
       
         b(a.begin(), a.begin()+3) ; //将a向量中从第0个到第2个(共3个)作为向量b的初始值
       
      
     
    
   

或者list initialization

vector
   
     v1{"a", "an"}; // initialize with two elements vector
    
      v2("a"); // error
    
   

或者用另一个向量初始化:

vector
   
     v2(v1); vector
    
      v2 = v1;
    
   

或者直接用数组初始化:

int n[] = {1, 2, 3, 4, 5} ;
vector
   
     a(n, n+5) ; //将数组n的前5个元素作为向量a的初值 vector
    
      a(&n[1], &n[4]) ; //将n[1] - n[4]范围内的元素作为向量a的初值
    
   

添加element:

vector
   
     v; for (int i = 0; i < 100; i++) { v.push_back(i); }
   

other common operations:

v.empty(); // return true if v is empty
v.size(); // return the number of the elements in vector

元素的访问:

// using subscript
int i ;
for(i=0; i
   
    ::iterator t ; for(t=a.begin(); t!=a.end(); t++) cout<<*t<<" " ;
   

c++ 中,所以容器操作更加鼓励iterator but not subscript

动态插入和删除:

插入:
指定起始位置, 插入元素以及个数
或者指定插入内容为另一个vector或者数组里的一段,类似begin(), end().

// inserting into a vector
#include 
   
     #include 
    
      int main () { std::vector
     
       myvector (3,100); std::vector
      
       ::iterator it; it = myvector.begin(); it = myvector.insert ( it , 200 ); myvector.insert (it,2,300); // "it" no longer valid, get a new one: it = myvector.begin(); std::vector
       
         anothervector (2,400); myvector.insert (it+2,anothervector.begin(),anothervector.end()); int myarray [] = { 501,502,503 }; myvector.insert (myvector.begin(), myarray, myarray+3); std::cout << "myvector contains:"; for (it=myvector.begin(); it
         
        
       
      
     
    
   
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇C++输入三个整数,整数之间由一个.. 下一篇C++之STL Stack和Queue设计和使用

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目