VC++常用STL操作

vector:
Constructors 构造函数
Operators 对vector进行赋值或比较
assign() 对Vector中的元素赋值
at() 返回指定位置的元素
back() 返回最末一个元素
begin() 返回第一个元素的迭代器
capacity() 返回vector所能容纳的元素数量(在不重新分配内存的情况下)
clear() 清空所有元素
empty() 判断Vector是否为空(返回true时为空)
end() 返回最末元素的迭代器(译注:实指向最末元素的下一个位置)
erase() 删除指定元素
front() 返回第一个元素
get_allocator() 返回vector的内存分配器
insert() 插入元素到Vector中
max_size() 返回Vector所能容纳元素的最大数量(上限)
pop_back() 移除最后一个元素
push_back() 在Vector最后添加一个元素
rbegin() 返回Vector尾部的逆迭代器
rend() 返回Vector起始的逆迭代器
reserve() 设置Vector最小的元素容纳数量
resize() 改变Vector元素数量的大小
size() 返回Vector元素数量的大小
swap() 交换两个Vector

list:
assign() 给list赋值
back() 返回最后一个元素
begin() 返回指向第一个元素的迭代器
clear() 删除所有元素
empty() 如果list是空的则返回true
end() 返回末尾的迭代器
erase() 删除一个元素
front() 返回第一个元素
get_allocator() 返回list的配置器
insert() 插入一个元素到list中
max_size() 返回list能容纳的最大元素数量
merge() 合并两个list
pop_back() 删除最后一个元素
pop_front() 删除第一个元素
push_back() 在list的末尾添加一个元素
push_front() 在list的头部添加一个元素
rbegin() 返回指向第一个元素的逆向迭代器
remove() 从list删除元素
remove_if() 按指定条件删除元素
rend() 指向list末尾的逆向迭代器
resize() 改变list的大小
reverse() 把list的元素倒转
size() 返回list中的元素个数
sort() 给list排序
splice() 合并两个list
swap() 交换两个list
unique() 删除list中重复的元素

stack:
操作 比较和分配堆栈
empty() 堆栈为空则返回真
pop() 移除栈顶元素
push() 在栈顶增加元素
size() 返回栈中元素数目
top() 返回栈顶元素

queue:
back() 返回最后一个元素
empty() 如果队列空则返回真
front() 返回第一个元素
pop() 删除第一个元素
push() 在末尾加入一个元素
size() 返回队列中元素的个数

======================================================

 

1.       set的删除操作

#include<iostream>

#include<set>

#include<iterator>

using namespace std;

 

typedef std::set<int> INT_SET;

int main()

{

       INT_SET setMy;

       for(int i=0;i<10;i++)

       {

              setMy.insert(i);

       }

 

       copy(setMy.begin(),setMy.end(),ostream_iterator<int>(cout,""));

       cout<<endl;

      

       int iValueToDelete=5;

 

       INT_SET::iterator position;

       for(position=setMy.begin();position!=setMy.end();)

       {

              if(*position==iValueToDelete)

              {

                     //这里要注意,position++

                     setMy.erase(position++);

              }

              else

              {

                     cout<<*position;

                     position++;

              }

       }

 

       cout<<endl;

 

       return 0;

}

 

2.       map的删除操作

#include<iostream>

#include<map>

#include<iterator>

using namespace std;

 

typedef std::map<int,int> INT_MAP;

int main()

{

       INT_MAP mapMy;

       for(int i=0;i<10;i++)

       {

              mapMy.insert(INT_MAP::value_type(i,i*10+1));

       }

 

       INT_MAP::iterator position;

       for(position=mapMy.begin();position!=mapMy.end();position++)

       {

              std::cout << "(" << position->first << "," << position->second <<")";

       }

       cout<<endl;

      

       int iValueToDelete=5;

 

      

       for(position=mapMy.begin();position!=mapMy.end();)

       {

              if(position->first==iValueToDelete)

              {

                     //这里要注意,position++

                     mapMy.erase(position++);

              }

              else

              {

                     cout<<"<"<<position->first<<":"<<position->second<<">";

                     position++;

              }

       }

 

       cout<<endl;

 

       return 0;

}

 



原文地址:https://www.cnblogs.com/tuzhiye/p/1424541.html