扁平化设计网站 源码,帝国cms对比WordPress,网站风格设计视觉,wordpress 主要目录
STL之优先队列priority_queue 绝对值排序问题#xff08;题目描述#xff09;
#xff08;一#xff09;使用优先队列prioroty_queue实现绝对值降序排序
#xff08;二#xff09;使用vector实现绝对值降序排序#xff08;使用库中的全局sort()函数#xff09;…目录
STL之优先队列priority_queue 绝对值排序问题题目描述
一使用优先队列prioroty_queue实现绝对值降序排序
二使用vector实现绝对值降序排序使用库中的全局sort()函数 三通过仿函数使用其他容器vector、list、set、map实现排序 STL之优先队列priority_queue
CSTL之Priority_queue(优先队列) - 数据结构教程 - C语言网 (dotcpp.com)https://www.dotcpp.com/course/115 绝对值排序问题题目描述 一使用优先队列prioroty_queue实现绝对值降序排序
#includeiostream
#includevector
#includequeue
#includecmath
using namespace std;void debug_input(const vectorvectorint input){coutsize: input.size()endl;for(int i0; iinput.size(); i){for(auto itinput[i].begin(); it!input[i].end(); it){cout*it, ;}coutendl;}
}// 仿函数
class myCompare
{
public:bool operator()(int v1, int v2) const{return abs(v1) abs(v2);}
};int main()
{// inputvectorvectorint input;int in;while(cinin){int num in;vectorint tmp;while(num--){cinin;tmp.push_back(in);}if(!tmp.empty()){input.push_back(tmp);}}// debug_input(input);// 优先队列int num input.size();for(int i0; inum; i){priority_queueint, vectorint ,myCompare myqueue(input[i].begin(), input[i].end());while( !myqueue.empty() ){int val myqueue.top();myqueue.pop();coutval ; }coutendl;}return 0;
}
二使用vector实现绝对值降序排序使用algorithm库中的全局sort()函数
PS注意仿函数处,区别这和vectot与队列queue的输出方式有关。
#includeiostream
#includevector
#includequeue
#includecmath
#includealgorithm
using namespace std;void debug_input(const vectorvectorint input){coutsize: input.size()endl;for(int i0; iinput.size(); i){for(auto itinput[i].begin(); it!input[i].end(); it){cout*it, ;}coutendl;}
}// 仿函数
class myCompare
{
public:bool operator()(int v1, int v2) const{return abs(v1) abs(v2);}
};int main()
{// inputvectorvectorint input;int in;while(cinin){int num in;vectorint tmp;while(num--){cinin;tmp.push_back(in);}if(!tmp.empty()){input.push_back(tmp);}}// debug_input(input);// // 优先队列// int num input.size();// for(int i0; inum; i){// priority_queueint, vectorint ,myCompare myqueue(input[i].begin(), input[i].end());// while( !myqueue.empty() ){// int val myqueue.top();// myqueue.pop();// coutval ; // }// coutendl;// }// vectorint num input.size();for(int i0; inum; i){sort(input[i].begin(), input[i].end(),myCompare());for(auto itinput[i].begin(); it!input[i].end(); it){cout*it ;}coutendl;}return 0;
} 三通过仿函数使用其他容器vector、list、set、map实现排序
见我的另一个博文
函数对象仿函数-CSDN博客https://blog.csdn.net/qq_43855258/article/details/134516607