zoukankan      html  css  js  c++  java
  • STL容器之vector容器API(二)

    存取操作

    插入和删除

    #define _CRT_SECURE_NO_WARNINGS
    #include <iostream>
    using namespace std;
    #include <vector>
    /*
    vector数据存取操作
    at(int idx); //返回索引idx所指的数据,如果idx越界,抛出out_of_range异常。
    operator[];//返回索引idx所指的数据,越界时,运行直接报错
    front();//返回容器中第一个数据元素
    back();//返回容器中最后一个数据元素
    
    vector插入和删除操作
    insert(const_iterator pos, int count,ele);//迭代器指向位置pos插入count个元素ele.
    push_back(ele); //尾部插入元素ele
    pop_back();//删除最后一个元素
    erase(const_iterator start, const_iterator end);//删除迭代器从start到end之间的元素
    erase(const_iterator pos);//删除迭代器指向的元素
    clear();//删除容器中所有元素
    
    */
    
    void printVector(vector<int>& v)
    {
        for (vector<int>::iterator it = v.begin(); it != v.end(); it++)
        {
            cout << *it << " ";
        }
        cout << endl;
    }
    void test01()
    {
        //存取操作
        vector<int> v;
        v.push_back(10);
        v.push_back(20);
        v.push_back(30);
        v.push_back(40);
        //at和[]同string用法一样
        //front
        cout << "v的front: " << v.front() << endl;
        cout << "v的back: " << v.back() << endl;
    
        //插入和删除
        //插入
        v.insert(v.begin()+1, 100);   //参数1 迭代器  参数2 N 可不填 参数3 插入的内容
        printVector(v);         //10,100,20,30,40
    
        //删除
        v.pop_back();           // 弹出末尾数据
        printVector(v);         //10,100,20,30  
    
        v.erase(v.begin());     //删除指定位置的元素  参数为迭代器 而不是索引
        printVector(v);         //100,20,30  
    
        v.erase(v.begin(), v.end()-1);    //删除指定迭代器从start到指定结束位置的数据  区间方式删除
        printVector(v);                   //30 
    
        v.clear();              //清空容器内的元素
        if (v.empty())
        {
            cout << "为空" << endl;
        }
        else {
            cout << "不为空" << endl;
        }
    }

    结果:

  • 相关阅读:
    ibatis常用sql
    在eclipse中部署maven项目的问题
    如何成为一个设计师和程序员混合型人才
    一个程序员的读书笔记:程序设计的反思
    C# 中的 == 和 equals()有什么区别?
    2014百度之星资格赛解题报告:能量变换
    2014百度之星资格赛解题报告:Xor Sum
    2014百度之星资格赛解题报告:Labyrinth
    那些年我们一起追过的ACM
    最新全球排名前50网站前端开发语言统计
  • 原文地址:https://www.cnblogs.com/yifengs/p/15190008.html
Copyright © 2011-2022 走看看