STL Container1: Vector

 

// Testing Standbard Library vector class template

// element-maninpulation functions.

 

#include <iostream>

 

using std::cout;

using std::endl;

 

#include <vector>

#include <algorithm>

#include <numeric>

#include <iterator>

 

int main()

{

    const int SIZE    = 6;

    int iArray[ SIZE ]    = {1, 2, 3, 4, 5, 6};

 

    std::vector< int > integers( iArray, iArray + SIZE );

    std::ostream_iterator< int > outputIt( cout,  " ");

 

    cout << "Vector integers contains: ";

    std::copy( integers.begin(), integers.end(), outputIt );

 

    cout << " /nFirst element of integers: "<<integers.front()

        << " /nLast element of integers: " <<integers.back();

 

    integers[ 0 ] = 7;

    integers.at( 2 ) = 10;

 

    //insert 22 as 2nd element

    integers.insert( integers.begin() + 1, 22 );

 

    cout<< "/n/n Contents of vector integers. after changes: ";

    std::copy( integers.begin(), integers.end(), outputIt );

 

    //access out-of-range element

    try{

        integers.at( 100 ) = 777;

    }//end try

    catch(std::out_of_range outOfRange)//catch out_of_range exception

    {

        cout<< "/n/nException: "<<outOfRange.what();

    }//end catch

 

    //erase first element

    integers.erase( integers.begin() );

    cout<<"/n/nVector integers after erasing first element: ";

    std::copy( integers.begin(), integers.end(), outputIt );

 

    //erase remaining elements

    integers.erase( integers.begin(), integers.end() );

    cout<<"/nAfter Erasing all elements, vector integers "

        << ( integers.empty() ? "is" : " is not" ) << " empty";

 

    //insert elements from array

    integers.insert( integers.begin(), iArray, iArray + SIZE );

    cout<< "/n/nContents of vector integers before clear: ";

    std::copy( integers.begin(), integers.end(), outputIt );

 

    //empty integers; clear calls erase to empty a collectioin

    integers.clear();

    cout<< "/nAfter clear, vector integers "

        << (integers.empty() ? "is" : "is not") << " empty";

 

    cout<<endl;

 

    return 0;

 

 

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值