当前位置: 首页 > news >正文

企业网站ui模板下载快三彩票网站建设

企业网站ui模板下载,快三彩票网站建设,有什么可以做cad赚钱的网站,建站及推广目录 set、map容器 priority_queue容器 在STL中涉及到以某种规则排序的容器都需要比较函数对象#xff0c;比如#xff1a;set、map、priority_queue这些容器内部都是依赖比较函数对象以某种规则存储数据的。STL容器中的比较函数对象可以是#xff1a;函数指针、仿函数(函…目录 set、map容器 priority_queue容器 在STL中涉及到以某种规则排序的容器都需要比较函数对象比如set、map、priority_queue这些容器内部都是依赖比较函数对象以某种规则存储数据的。STL容器中的比较函数对象可以是函数指针、仿函数(函数对象)。当然比较函数对象的应用肯定是不限于STL容器的比如某些排序函数如std::sort对于sort而言其比较函数对象可以是函数指针、仿函数、lambda表达式。 set、map容器 set类模板参数如下 可以看到set和map的默认比较函数对象是std::lessT默认存储的数据是按照pairconst Key,T中的键值升序排序的。如果要降序呢std::greaterT是降序的我们也可以自己实现一个比较函数对象如下是set的构造函数种类 set的构造函数只有空构造和范围构造是可以对比较函数对象进行设置至于拷贝构造中的比较函数对象则是与源对象x的相同。 比较函数对象的一个重要作用就是我们可以根据实际情况灵活设置容器的数据按照某种规则排序。 比如现在要实现一个排序需求set容器中存储的数据类型是结构体里面存储学生的基本信息(年龄身高性别)将这些结构体数据按照学生的年龄升序排序 #include iostream #include set #include string using namespace std; struct StuData {StuData(int age, int height, const string sex){_age age;_height height;_sex sex;}int _age;int _height;string _sex; };//仿函数 class Comp { public:bool operator()(const StuData stu1, const StuData stu2) const{return stu1._age stu2._age;} };//函数指针 bool comp(const StuData stu1, const StuData stu2) {return stu1._age stu2._age; } typedef bool(*func_t)(const StuData, const StuData); int main() {//比较函数对象为仿函数//setStuData, Comp myset({ StuData(23,170,male),StuData(21,165,female),StuData(25,160,female) });//比较函数为函数指针func_t f comp;setStuData, func_t myset({ StuData(23,170,male),StuData(21,165,female),StuData(25,160,female) }, f);cout年龄排序;for (const auto e : myset)cout e._age ;return 0; } 需要注意的是当比较函数对象是我们自己实现的仿函数其operator()重载运算符函数必须后应该加上const否则会报错我们可以观察到set容器构造函数参数中设置比较函数是以传const引用传参的,如下 也就是说我们实现的仿函数在传入到set对象中此时这个仿函数是具有const属性的然而调用被const属性修饰的对象中的某成员函数时(调用该成员函数时也不会修改对象中的成员变量时)此时就应该在该成员函数后加上const那么这个成员函数参数列表中的this指针类型就从Comp*变成了const Comp*。这个对于比较函数对象按传const引用传参的设置应该是考虑到传入的仿函数是匿名对象的情况。 priority_queue容器 对于priority_queue的构造函数参数列表中设置比较函数对象也是传const引用传参优先级队列默认是大堆对应的默认的比较函数对象是std::lessT我们也可以根据实际情况来实现新的比较函数对象。 一个应用 合并K个升序链表 class Solution { public://仿函数class Compare{public:bool operator()(const ListNode* node_1, const ListNode* node_2)const{return node_1-val node_2-val;}};ListNode* mergeKLists(vectorListNode* lists) {if (0 lists.size())return nullptr;int size lists.size();priority_queueListNode*, vectorListNode*, Compare q;for (int i 0;i size;i){if (lists[i] ! nullptr)q.push(lists[i]);}ListNode* head new ListNode();ListNode* cur head;while (!q.empty()){ListNode* tmp q.top();q.pop();cur-next tmp;cur cur-next;if (tmp-next ! nullptr)q.push(tmp-next);}cur head-next;delete head;return cur;} };
http://www.w-s-a.com/news/963310/

相关文章:

  • 前端移动网站开发wordpress图文混排
  • 企业网站建站那种好商城类网站怎么优化
  • 手机微网站怎么制作的网上找设计师
  • 网站建设包括哪些方面学校网站 建设
  • 贵阳网站优化公司建筑设计师用什么软件
  • 网站建设的小说静态网页模板免费网站
  • 芜湖建设厅官方网站wordpress自动设置缩略图
  • 推荐网站网页湛江网站建设哪家优惠多
  • 传奇网站免费空间网店装修店面
  • 网站改版 重新收录湖南建筑信息一体化管理平台
  • 可以做直播卖产品的网站陕西省建设银行网站
  • 搭建网站的英语seo优化专员招聘
  • 做网站深紫色搭配什么颜色网站的在线支付怎么做
  • 中国最大网站建设公司长沙专业做网站公司哪家好
  • 金峰辉网站建设菏泽财富中心网站建设
  • 怎么做网站站长视频企业网站开发意义
  • 网站创建多少钱商标自助查询系统官网
  • 免费做App和网站的平台广州做网站推广的公司
  • 衡水做网站推广的公司wordpress相册滑动
  • 不用域名也可以做网站公司网站建设制作难么
  • 学做网站培训机构wordpress 图片拉伸
  • 成都捕鱼网站建设wordpress自定义文章类别
  • wordpress网站怎么加速湖北网站建设企业
  • 迁安做网站中的cms开发南平网站建设公司
  • 肥西县住房和城乡建设局网站代驾系统定制开发
  • 网站建设明细报价表 服务器qq是哪家公司的产品
  • html链接网站模板wordpress怎么调用简码
  • 网站域名怎么查简述网站推广的五要素
  • 咸宁网站设计公司app安装下载
  • 丝网外贸做哪些网站最优的赣州网站建设