zoukankan      html  css  js  c++  java
  • Vector

    在c++中,vector是一个十分有用的容器,下面对这个容器做一下总结。

    1 基本操作

    (1)头文件#include<vector>.

    (2)创建vector对象,vector<int> vec;

    (3)尾部插入数字:vec.push_back(a);

    (4)使用下标访问元素,cout<<vec[0]<<endl;记住下标是从0开始的。

    (5)使用迭代器访问元素.

    vector<int>::iterator it;
    for(it=vec.begin();it!=vec.end();it++)
        cout<<*it<<endl;

    (6)插入元素:    vec.insert(vec.begin()+i,a);在第i+1个元素前面插入a;

    (7)删除元素:    vec.erase(vec.begin()+2);删除第3个元素

    vec.erase(vec.begin()+i,vec.end()+j);删除区间[i,j-1];区间从0开始

    (8)向量大小:vec.size();

    (9)清空:vec.clear();

    具体操作见代码,可用。

    #include <vector>
    #include <algorithm>
    #include <iostream>
    #include<string>
    using namespace std;
    //vector是每次迭代时都动态重新申请内存并且销毁之前已经存在的内存 
    bool Comp(const int &a,const int &b)
    {
        return a>b;
    }//sort的下降函数,默认升序排列 
    int main( )
    {
       vector <char> v1;
       vector <char>::iterator Iter1;
       int i;
       string s;
       cin>>s; 
       for ( i = 0 ; i < s.length() ; i++ )
       {
          v1.push_back( s[i] );//从尾部插入 
       }
       for ( Iter1 = v1.begin( ) ; Iter1 != v1.end( ) ; Iter1++ )
          cout << *Iter1 ;
       cout <<endl;
       //reverse (v1.begin( ), v1.end( ) );
       //sort(v1.begin(),v1.end(),greater<char>());详情见sort用法 
       //v1.assign(5,'w');重新赋予容器5个'w' 
       for ( Iter1 = v1.begin(); Iter1 != v1.end( ) ; Iter1++ )
       cout << *Iter1 ;//注意* 
       cout<< endl;
       for ( Iter1 = v1.begin(),i=0;Iter1 != v1.end( );i++,Iter1++ )
       cout <<v1[i];//注意* 
       //两种输出策略
       //vector<char>::iterator pos; 
       //pos=v1.begin(); //因为直接用迭代器失效,所以重新声明下
       //v1.erase(++pos); //删除制定位置 
       //v1.erase(pos,pos+3);
        v1.resize(5); //将元素数量改成5,如果v1变大,则多的按默认走,字符的默认为空 
        //v1.resize(5,'p'); //将元素数量改成5,如果v1变大,则多的赋值成'p'
        //v1.clear(); //清空
        for(Iter1=v1.begin(),i=0;Iter1 != v1.end();i++,Iter1++)
        {
            cout<<"v1中的"<<i<<"值:"<<v1[i]<<endl;
        }
       cout<< endl;
    }
  • 相关阅读:
    elastic
    Leetcode题库 第十行
    Leetcode题库-实现strStr()
    Redis持久化
    Redis的数据结构及应用场景
    Redis缓存的淘汰策略
    Redis缓存常见问题
    Redis面试题1
    消息队列的原理及选型
    【转载】java高并发/mysql/mybatis/spring博客
  • 原文地址:https://www.cnblogs.com/xlqtlhx/p/6104178.html
Copyright © 2011-2022 走看看