vector

#include <cstdio>
#include <vector>
#include <algorithm>
#include <iostream>
using namespace std;
bool cmp(int a,int b)
{
    return a>b;
}
int main()
{
    //创建对象的三种形式
    vector<int> v(10);           //指定容器大小,下标从0开始
    //vector<double> v;          //不指定大小
    //vector<double> v(10,3.4);  //指定大小且赋值3.4

    for(int i=0; i<10; i++)
    {
        v[i]=i;                  //赋值
    }
    for(int i=0; i<10; i++)
    {
        cout << v[i] << " ";     //下标式访问元素
    }
    cout << endl << endl;
    
    //尾部元素扩张
    v.push_back(11);              //在尾部增加一个元素
    for(int i=0; i<11; i++)
    {
        cout << v[i] << " ";
    }
    cout << endl << endl;
    
    //元素的插入
    v.insert(v.begin()+1,99);  //在指定位置插入元素  该处在第二个元素前插入
    for(int i=0; i<12; i++)
    {
        cout << v[i] << " ";
    }
    cout << endl << endl;
    
    //元素的删除,可删除某一个或某个区间的元素
    v.erase(v.begin()+2);
    v.erase(v.begin()+2,v.begin()+4);  //删除第三个到第五个元素
    for(int i=0; i<9; i++)
    {
        cout << v[i] << " ";
    }
    cout << endl << endl;
    
    //反向排列
    reverse(v.begin(),v.end());    //倒置,将元素反向排列
    for(int i=0; i<9; i++)
    {
        cout << v[i] << " ";
    }
    cout << endl << endl;
    
    //用sort排序
    sort(v.begin(),v.end());      //排序,sort默认升序
    for(int i=0; i<9; i++)
    {
        cout << v[i] << " ";
    }
    cout << endl << endl;

    sort(v.begin(),v.end(),cmp);      //排序,自定义函数
    for(int i=0; i<9; i++)
    {
        cout << v[i] << " ";
    }
    cout << endl << endl;

    cout << v.size() << endl;      //返回元素个数
    cout << v.empty() << endl;     //判断是否为空,空则返回1,否则返回0
    
    //清除
    v.clear();                     //清空

    cout << v.size() << endl;
    cout << v.empty() << endl;

    return 0;
}

输出如下


posted @ 2018-02-08 19:09  任小喵  阅读(95)  评论(0编辑  收藏  举报