您的位置:首页 > 其它

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

2015-08-22 16:26 393 查看
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;
}


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: