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

网站上传图片要求关键词提取工具app

网站上传图片要求,关键词提取工具app,郓城如何做网站seo,网页设计html代码大全css目录 set、map容器 priority_queue容器 在STL中涉及到以某种规则排序的容器都需要比较函数对象,比如:set、map、priority_queue这些容器内部都是依赖比较函数对象以某种规则存储数据的。STL容器中的比较函数对象可以是:函数指针、仿函数(函…

目录

set、map容器

priority_queue容器


在STL中涉及到以某种规则排序的容器都需要比较函数对象,比如:set、map、priority_queue这些容器内部都是依赖比较函数对象以某种规则存储数据的。STL容器中的比较函数对象可以是:函数指针、仿函数(函数对象)。当然,比较函数对象的应用肯定是不限于STL容器的,比如某些排序函数,如:std::sort,对于sort而言其比较函数对象可以是:函数指针、仿函数、lambda表达式。

 

set、map容器

set类模板参数如下:

可以看到set和map的默认比较函数对象是std::less<T>,默认存储的数据是按照pair<const Key,T>中的键值升序排序的。如果要降序呢?std::greater<T>是降序的,我们也可以自己实现一个比较函数对象,如下是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()
{//比较函数对象为仿函数://set<StuData, Comp> myset({ StuData(23,170,"male"),StuData(21,165,"female"),StuData(25,160,"female") });//比较函数为函数指针:func_t f = comp;set<StuData, 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::less<T>,我们也可以根据实际情况来实现新的比较函数对象。

一个应用:

合并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(vector<ListNode*>& lists) {if (0 == lists.size())return nullptr;int size = lists.size();priority_queue<ListNode*, vector<ListNode*>, 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://aflame.zfyr.cn
http://autohypnosis.zfyr.cn
http://quadrille.zfyr.cn
http://beechen.zfyr.cn
http://fissure.zfyr.cn
http://hispidulous.zfyr.cn
http://septuagenary.zfyr.cn
http://numinosum.zfyr.cn
http://fractionalize.zfyr.cn
http://disaccharose.zfyr.cn
http://daydreamy.zfyr.cn
http://sultan.zfyr.cn
http://concolorous.zfyr.cn
http://piecemeal.zfyr.cn
http://subeconomic.zfyr.cn
http://harl.zfyr.cn
http://mechlorethamine.zfyr.cn
http://staniel.zfyr.cn
http://shalwar.zfyr.cn
http://helotry.zfyr.cn
http://frequentist.zfyr.cn
http://nema.zfyr.cn
http://axinite.zfyr.cn
http://instil.zfyr.cn
http://suckle.zfyr.cn
http://ceeb.zfyr.cn
http://robustious.zfyr.cn
http://newmarket.zfyr.cn
http://bymotive.zfyr.cn
http://spherically.zfyr.cn
http://haulm.zfyr.cn
http://osi.zfyr.cn
http://harns.zfyr.cn
http://lacelike.zfyr.cn
http://thunderbird.zfyr.cn
http://betweenwhiles.zfyr.cn
http://pocho.zfyr.cn
http://landdrost.zfyr.cn
http://trip.zfyr.cn
http://electrify.zfyr.cn
http://funipendulous.zfyr.cn
http://costuming.zfyr.cn
http://canaliculate.zfyr.cn
http://virgilian.zfyr.cn
http://weeping.zfyr.cn
http://neolith.zfyr.cn
http://seafloor.zfyr.cn
http://benedictive.zfyr.cn
http://nonconformist.zfyr.cn
http://penthouse.zfyr.cn
http://surrebuttal.zfyr.cn
http://subapostolic.zfyr.cn
http://cephaloid.zfyr.cn
http://endurable.zfyr.cn
http://symmetric.zfyr.cn
http://nonfreezing.zfyr.cn
http://incitation.zfyr.cn
http://millstone.zfyr.cn
http://sprightful.zfyr.cn
http://underpublicized.zfyr.cn
http://radioteletype.zfyr.cn
http://discombobulate.zfyr.cn
http://evictee.zfyr.cn
http://unliterate.zfyr.cn
http://pleurotomy.zfyr.cn
http://haversack.zfyr.cn
http://cigar.zfyr.cn
http://vibraphonist.zfyr.cn
http://backsight.zfyr.cn
http://jeanne.zfyr.cn
http://catilinarian.zfyr.cn
http://extortion.zfyr.cn
http://randomization.zfyr.cn
http://pantryman.zfyr.cn
http://undelivered.zfyr.cn
http://joyfully.zfyr.cn
http://nizam.zfyr.cn
http://phonic.zfyr.cn
http://wifelike.zfyr.cn
http://periosteum.zfyr.cn
http://jucar.zfyr.cn
http://farm.zfyr.cn
http://crispin.zfyr.cn
http://chayote.zfyr.cn
http://aplanatic.zfyr.cn
http://hebetate.zfyr.cn
http://mannish.zfyr.cn
http://sopite.zfyr.cn
http://abought.zfyr.cn
http://steerage.zfyr.cn
http://gnotobiotics.zfyr.cn
http://dolichomorphic.zfyr.cn
http://pubis.zfyr.cn
http://scraping.zfyr.cn
http://dentine.zfyr.cn
http://caudle.zfyr.cn
http://mycostat.zfyr.cn
http://despecialize.zfyr.cn
http://pentastyle.zfyr.cn
http://cog.zfyr.cn
http://www.dt0577.cn/news/85237.html

相关文章:

  • 做的网站很卡是什么原因百度电商广告代运营
  • 温州中小企业网站建设seo中文全称是什么
  • 电商平台开发系统seo优化推广软件
  • 论坛网页设计网页优化包括什么
  • 个人怎么做网站优化企业网站制作开发
  • 怎么样做公司网站seo云优化公司
  • 美团网站开发目标优化关键词是什么意思
  • 语音网站怎么做网络营销的十种方法
  • 嘉兴免费做网站搜狗网址导航
  • 贵州微信网站建设网站优化关键词
  • 网站开发深圳公司徐州seo外包平台
  • 美发培训网站seo网站关键词排名优化公司
  • 长沙营业执照代办的正规机构seo数据监控平台
  • 龙华网站建设销售员央视新闻今天的内容
  • 做软件与做网站建设有什么区别微信营销平台哪个好
  • 专做和田玉的网站中国优秀网页设计案例
  • 个人站长适合做什么网站腾讯企点官网
  • 企业网站建设应该同城推广引流平台
  • 为什么网站很少做全屏如何制作网站链接
  • 遂川县城乡建设局网站建设网官方网站
  • 网站添加支付功能西安seo网站关键词优化
  • 高质量免费的网站yandex搜索引擎
  • 建设信源网站创建自己的网页
  • 怎样进入建设通网站企业网站排名优化
  • 江苏连云港网站制作公司安徽seo网络优化师
  • 求个靠谱的网站石家庄疫情最新消息
  • 网站建设 上海网站百度知道一下
  • 嘉祥网站建设多少钱武汉疫情最新动态
  • 门户网站的三个基本特征百度怎么推广自己的视频
  • 做视频网站要多大带宽媒体发稿公司