容器vector的使用总结 容器stack(栈)

0、头文件:#include<vector>;  using namespace std;

1、定义: vector<type> vec; 

2、迭代器

vector<type>::iterator it;  
vector<type>::const_iterator it;  
vector<type>::reverse_iterator it;  
vector<type>::const_reverse_iterator it;  

3、vector功能

 存取元素的方法:

  vec[i] 和 vec.at(i) //存取第i个元素
  vec.front()  //存取第一个元素,注意 vce.front()=122;//表是给第一个元素赋值为122,等价于  vec[0]= 122;
  vce.back()  //存取最后一个元素

新增或移除元素的方法:

  vec.push_back();  //在容器最后加一个元素
  vec.insert();    //插入一個或多個元素至 vector 內的任意位置 

#include <iostream>
#include <vector>

void print_vec(const std::vector<int>& vec)
{    
    for (std::vector<int>::const_iterator it=vec.begin();it!=vec.end();it++) {
        std::cout << ' ' << *it;
    }
    std::cout << '\n';
}

int main ()
{
    std::vector<int> vec(3,100);
    print_vec(vec);

    std::vector<int>::iterator it = vec.begin();
    it = vec.insert(it, 200);
    print_vec(vec);

    vec.insert(it,2,300);
    print_vec(vec);

    // "it" no longer valid, get a new one:  //不再可用**********
    it = vec.begin();

    std::vector<int> vec2(2,400);
    vec.insert(it+2, vec2.begin(), vec2.end());
    print_vec(vec);

    int arr[] = { 501,502,503 };
    vec.insert(vec.begin(), arr, arr+3);
    print_vec(vec);
}
View Code

  vec.pop_back()    // 刪除 vector 最尾端的元素
  vec.erase()  //刪除 vector 中一個或多個元素。
  vec.clear() //清空所有元素。

获取容器的长度和容量:

  vec.size()   // 取得 vector 目前持有的元素个数。
  vec.empty()  //如果 vector 內部为空,则返回 true 值。
  vec.capacity() // 取得 vector 目前可容納的最大元素个数。

改变容器的大小:

  vec.reserve()  //改变ector 的容量大小,容量只能增加,不可以減少。
  vec.resize()  //改变vector 目前持有的元素个数。

迭代四个:vec.begin() vec.end() vec.rbegin() vec.rend()

容器stack

栈(FIOL,First-in Last-out)三个主要的功能---存、取、删。

stack<int>  myStack ;
myStack.push(3);   //
myStack.top();       //
myStack.pop();      //

 容器map

#include <iostream>
#include<string>
#include<map>
using namespace std;

int main ()
{    
    map<string,int> myMap;    
    map<string,int>::iterator myMapIt;    
    myMap["wo"] = 2;                                    //存入方法1
    myMap.insert(make_pair("ni",1));                //存入方法2
    for (myMapIt = myMap.begin();myMapIt!=myMap.end();myMapIt++) //遍历元素
    {
        cout<<myMapIt->first<<endl;
        cout<<myMapIt->second<<endl;
        cout<<myMap["ni"];
    }
    myMap.count("wo"); //返回值为1,即表示存在键值为"wo",不存在返回为0.(注意只有1、0两个值)
    myMap.erase("ni");    //删除
    myMap.clear()    ;
    return 0;
}

 

posted @ 2015-08-22 16:26  lwn6  阅读(639)  评论(0编辑  收藏  举报
什么是幸福?天天在做自己想做的事情,家人、同事、朋友、客户、网友都和和睦睦,身体健康、钱包鼓鼓、女朋友天天开心、生活无忧无虑就是最大的幸福