惊雷无声 发表于 2023-5-28 10:04:23

关于STL容器的简单总结

关于STL容器的简单总结

1、结构体中重载运算符的示例

//结构体小于符号的重载
struct buf { 
   int a,b;
   bool operator < (const buf& c1) const {  //注意:第二个const一定不能少
   return a<c1.a;
   }
};
//或
struct foo {
    int a,b;
};
bool operator < (const foo &x, const foo &y)
{return x.a < y.a;}11、二分查找

注:lower_bound和upper_bound  使用前提均为原序列有序!
#include <queue>
queue<int>a;    //定义 
a.push(x);      //压入 
a.pop();      //弹出 
a.size();   //取大小 
a.front();    //访问队首元素 
a.back();     //访问队尾元素 
a.empty();    //判断队列是否为空12、reverse()

#include <queue>
priority_queue<int,vector<int>,greater<int> > c;      //定义从小到大的int类型的优先队列
priority_queue<int> c;                                //定义从大到小的int类型的优先队列 
c.push();        //压入 
c.pop();         //弹出队首元素 
c.top();         //访问队首元素 
c.empty();       //判断队列是否为空
//如是结构体必须重载'<' 13、bitset

#include <deque>
deque <int> b;    //定义双端队列 
b.push_front(x); //在队首压入元素 
b.push_back(x);  //在队尾压入元素 
b.pop_front();   //弹出队首元素 
b.pop_back();    //弹出队尾元素 
b.size();        //取大小 
b.back();        //访问队尾元素
b.front();       //访问队首元素 
b.empty();       //判断队列是否为空
//可用[]访问14、__builtin_系列

#include <stack>
stack<int> d;    //定义 
d.push(x);       //压入元素 
d.pop();         //弹出栈顶元素 
d.top();         //访问栈顶元素 
d.size();        //取大小 
d.empty();       //判断栈是否为空转自http://ybt.ssoier.cn:8087


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
页: [1]
查看完整版本: 关于STL容器的简单总结