容器添加元素操作

#include<iostream>
#include<vector>

using namespace std;

int main()
{
    //  删除元素的几个操作:

    int shuzu[]={1,2,3,4,5,6,7,8,9,10};
    vector<int> Vsz(shuzu, shuzu+10);
    vector<int>::iterator tdqa;

    cout<<" before delete: "<<endl;
    for(tdqa = Vsz.begin() ; tdqa != Vsz.end() ; ++tdqa)
    {
        cout<<(*tdqa)<<" ";
        // 先输出容器里全部元素。
    }

    Vsz.pop_back();  // 删除容器里的最后一个元素;若容器为空时,该操作的行为没有定义。
/*
------#include<deque>---------
*******************
    deque<int> Vsz(shuzu, shuzu+10);
    deque<int>::iterator tdqa;

    cout<<" before delete: "<<endl;
    for(tdqa = Vsz.begin() ; tdqa != Vsz.end() ; ++tdqa)
    {
        cout<<(*tdqa)<<" ";
    }
    Vsz.pop_front();
      // vector不支持pop_front()操作,删除容器里的第一个元素;若容器为空时,该操作的行为没有定义。

    Vsz.pop_back();
*/

    cout<<endl<<" the last element are deleted : "<<endl;
     for(tdqa = Vsz.begin() ; tdqa != Vsz.end() ; ++tdqa)
    {
        cout<<(*tdqa)<<" ";
    }


    tdqa = Vsz.begin();
      // tdqa指向Vsz里现存的第一个元素。
    Vsz.erase( Vsz.erase(tdqa+1));
      // 删除Vsz里现存的第二,第三元素。
    cout<<endl<<" the second and third element are deleted : "<<endl;
      for(tdqa = Vsz.begin() ; tdqa != Vsz.end() ; ++tdqa)
    {
        cout<<(*tdqa)<<" ";
    }
/*
    代码 Vsz.erase( Vsz.erase(tdqa+1));实际调用了两次erase函数,
    以第一次调用的返回值作为第二次调用的实际参数,从而删除两个相邻的元素。

    Rqname.erase(tdq);
       功能:
         1.返回被删除元素的下一个元素的迭代器。
         2.删除tdq所指向的元素。
*/

    Vsz.erase(Vsz.begin(),Vsz.begin()+3);
       // 删除容器现有的前三个元素。
     cout<<endl<<" three element at front are deleted : "<<endl;
         for(tdqa = Vsz.begin() ; tdqa != Vsz.end() ; ++tdqa)
    {
        cout<<(*tdqa)<<" ";
    }
/*
    代码  Vsz.erase(Vsz.begin(),Vsz.begin()+3);
        删除容器现有的前三个元素。

      Rqname.erase(b,e);
        // b,e为迭代器。
        功能:
          1.删除b,e所指向范围:"[b,e)"的所以元素,
          2.返回被删除元素段的下一个元素。

*/


    Vsz.clear();
      // 只有删除容器里所以元素的功能,没有像返回值等其他功能。
    cout<<endl<<" after clear : "<<endl;
    if(Vsz.empty())
    {
        cout<<" no element in double-ended vector "<<endl;
    }
    return 0;
}

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

努力的clz

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值