关于STL容器的简单总结

打印 上一主题 下一主题

主题 917|帖子 917|积分 2751

关于STL容器的简单总结

1、结构体中重载运算符的示例
  1. //结构体小于符号的重载
  2. struct buf { 
  3.    int a,b;
  4.    bool operator < (const buf& c1) const {  //注意:第二个const一定不能少
  5.    return a<c1.a;
  6.    }
  7. };
  8. //或
  9. struct foo {
  10.     int a,b;
  11. };
  12. bool operator < (const foo &x, const foo &y)
  13. {return x.a < y.a;}
复制代码
11、二分查找

注:lower_bound和upper_bound  使用前提均为原序列有序!
  1. #include <queue>
  2. queue<int>a;    //定义 
  3. a.push(x);      //压入 
  4. a.pop();      //弹出 
  5. a.size();   //取大小 
  6. a.front();    //访问队首元素 
  7. a.back();     //访问队尾元素 
  8. a.empty();    //判断队列是否为空
复制代码
12、reverse()
  1. #include <queue>
  2. priority_queue<int,vector<int>,greater<int> > c;      //定义从小到大的int类型的优先队列
  3. priority_queue<int> c;                                //定义从大到小的int类型的优先队列 
  4. c.push();        //压入 
  5. c.pop();         //弹出队首元素 
  6. c.top();         //访问队首元素 
  7. c.empty();       //判断队列是否为空
  8. //如是结构体必须重载'<' 
复制代码
13、bitset
  1. #include <deque>
  2. deque <int> b;    //定义双端队列 
  3. b.push_front(x); //在队首压入元素 
  4. b.push_back(x);  //在队尾压入元素 
  5. b.pop_front();   //弹出队首元素 
  6. b.pop_back();    //弹出队尾元素 
  7. b.size();        //取大小 
  8. b.back();        //访问队尾元素
  9. b.front();       //访问队首元素 
  10. b.empty();       //判断队列是否为空
  11. //可用[]访问
复制代码
14、__builtin_系列
  1. #include <stack>
  2. stack<int> d;    //定义 
  3. d.push(x);       //压入元素 
  4. d.pop();         //弹出栈顶元素 
  5. d.top();         //访问栈顶元素 
  6. d.size();        //取大小 
  7. d.empty();       //判断栈是否为空
复制代码
转自http://ybt.ssoier.cn:8087


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

惊雷无声

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表