STL之priority_queue

下面以 long long 型队列介绍:

Q.empty()   // 判断队列是否为空 返回ture表示空 返回false表示空      bool
Q.top() // 返回顶端元素的值 元素还在队列里 long long
Q.pop() // 删除顶端元素 void
Q.push(V) // 把 long long型的数V加入到队列里 它会制动条件V的位置 void
Q.size() // 返回队列里元素个数 unsigned int priority_queue<int,vector<int>,greater<int> > que; // 最小优先队列
priority_queue<int> que1; // 最大优先队列
priority_queue<int,vector<int>,less<int> > que1; // 最大优先队列 ( 注意在两个尖括号之间一定要留空格。)
priority_queue<node>que; // 结构体node自己定义 是其它类型的如long long 用最小优先队列需要从载 cmp 类 struct cmp{ // 整形最小优先队列
bool operator()(const int i,const int j){
return i>j;
}
};
priority_queue<int,vector<int>,cmp>que; struct cmp{ // long long 型最小优先队列
bool operator()(const long long i,const long long j){
return i>j;
}
};
priority_queue<int,vector<long long>,cmp> Q; struct cmp{ // string表示整数最小最优队列的重载
bool operator()(const string &i,const string &j){
int len1=i.length(),len2=j.length();
if(len1==len2)return i.compare(j)>;
return len1>len2;
}
};
priority_queue<int,vector<string>,cmp> Q; bool cmpe(string i,string j){ // 从大数到小数的排序重载
int len1=i.length(),len2=j.length();
if(len1==len2)return i.compare(j)>;
return len1 > len2;
}
sort(a+,a++,cmpe);
上一篇:查询拼接SQL语句,多条件模糊查询


下一篇:android 数据绑定(3)自动更新UI