ACM模版——STL篇

STL

//===========================================\\

     include<stack>                       |

\\===========================================//

stack<type> s // 定义

pop() // 弹出栈顶元素

push(x) // x入栈

size() // 返回栈中的元素个数

top() // 返回栈顶元素

empty() // 判断栈是否空,空则返回true

//===========================================\\

|       include<queue>                      |

\\===========================================//

queue<type> s // 定义

pop() // 弹出队列的第一个元素

push(x) // x入队

size() // 返回队中的元素个数

front() // 返回队列的第一个元素

back() // 返回队列的最后一个元素

empty() // 判断队是否空,空则返回true

//===========================================\\

|     集合  include<set>                       |

\\===========================================//

set<int> s;

s.insert(x); // 插入元素

s.erase(x); // 删除元素,可删除一定范围元素

s.clear(); // 清空集合

l=s.size(); // 返回集合元素个数

bool flag=s.empty(); // 判断集合是否空

set<int>::iterator it; // 迭代器

it=s.find(x); // 返回x的迭代器位置

for (it=s.begin(); it!=s.end(); it++)

    printf("%d\n",*it); // 正向遍历

set<int>::reverse_iterator rit; // 反向迭代器

for (rit=s.rbegin(); rit!=s.rend(); rit++)

    printf("%d\n",*rit); // 反向遍历

struct cmp  // 比较函数1

{

    bool operator()(const int &a,const int &b)

    {

        return a>b; // 降序

    }

};

set<int,cmp> s1;

struct info  // 比较函数2

{

    int x,y;

    bool operator<(const info &b) const

    {

        return x>b.x; // 按x降序

    }

};

set<info> s2;

//===========================================\\

|     映射  include<map>                     |

\\===========================================//

1、 定义

map<string,int> m1;

map<int,char> m2;

2、 添加数据

// 关键字存在时,不做任何操作

m1.insert(pair<string,int>("hehe",102));

m1.insert(pair<string,int>("hehe",10));

// 直接修改关键字对应的值

m1["hehe"]=333;

3、 迭代器

map<string,int>::iterator it;

m1.begin()  //  m1.end()

it->first // 返回key知

it->second // 返回映射值

map<string,int>::reverse_iterator rit;

m1.rbegin()  //  m1.rend()

4、 其他操作函数

m1.find("hehe") // 返回key值的迭代器位置

m1.erase("hehe") // 删除key值的映射

m1.empty() // 判断map是否空

posted @ 2012-09-22 13:52  枫落丹寒  阅读(136)  评论(0)    收藏  举报