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

怎么做网站赌博免费b站推广入口

怎么做网站赌博,免费b站推广入口,wordpress远程命令,wordpress 创建数据库表一.优先级队列 这个是优先级序列,他会通过优先级打印出来我们的序列,我们来看一下。 它会默认通过降序的方式来打印出来我们的序列。 我们可以看到结果。 我们来想一下,它的底层会是怎么实现的呢? 1.1 底层的实现 1.1.1 push 我们…

        

一.优先级队列

        这个是优先级序列,他会通过优先级打印出来我们的序列,我们来看一下。

        

        它会默认通过降序的方式来打印出来我们的序列。

        

        我们可以看到结果。

        我们来想一下,它的底层会是怎么实现的呢?

        1.1 底层的实现

        1.1.1 push

        我们发现和stack和Queue很像,但是这还不是完整体的,这里为什么要传vector<int> 作为缺省值呢?

        因为下面的调整要大量牵扯[]运算符的使用,所以用vector可以效率更高。

        我们应该怎么实现让每次都输出的是大的值呢?

        这时我们就要想到我们的大堆了,通过向上调整的大堆。

        接下来我们来完成一下吧。

        

        通过这两个函数就可以完成我们所需的操作了,不懂堆的可以翻一下之前的堆排序,我前面的博客中有讲解,这是我们通过不断的插入和调整,最后就会形成一个大堆的结构。

        每次输出第一个元素即可。

1.1.2 pop

        我们删除操作怎么完成的呢?

        我们都知道vector是没有pop_front这个方法的,是没法直接删除头元素的,但是它有pop_back这个方法 啊,我们可以先把它和最后一个元素交换之后,再删除最后一个元素,在向下调整一下,保持大堆的结构即可。

        

        就是这样实现的,也不是很难。

        

1.1.3 其他的方法

        其他的方法都是很简单的。

        

        这些都直接调用vector容器的即可。

        我们来测试一下我们写的代码吧。

        发现是没有问题的。

       

二.仿函数

        我们完成了上面的代码了,但是我们有一个问题,如果我们想实现升序怎么办呢?

        这是就要用到我们的仿函数了。

        

        我们看到,cpp库中的第三个给缺省值的参数就是仿函数了,我们先来完成一下升序的操作吧。

        

        我们先用一下库中的,等会儿 我们自己来实现一下,库中默认给的缺省值是less函数,就是降序,我们给的greater就是升序了。

        

        我们发现是没有问题的。

2.1 底层实现

        接下来我们自己实现一下,看它是怎么完成的吧。

        

        这是我们完成的less和greater的类,就是通过对()这个运算符的重载来完成的,当我们传入less的时候,这是,我们只需要less实例化的对象(_con(parent),_con(child))传入这样的参数就可以完成我们下图这种if语句中完成的事情了,就是_con(parent)<_con(child)成立是返回true即可,另外的greater这个的()运算符重载就是相反操作即可。

        修改了这两个函数的判断条件换为我们的()运算符了,这是就可以通过第三个函数模板参数来控制我们的大堆和小堆的建造了。

        接下来我们来测试一下吧。

        

        我们的预期是升序。

        答案确实是升序的。

        

        我们期望是降序。

        

        我们期望是降序。

        

        完成的没问题。

        我们接下来再来看一个例子。

        

        我们完成了一个简单的日期类。

        我们下面来看一个例子。

        

        我们发现答案是没有问题的,就是降序。

        

        升序也没有问题。

        我们发现我们连续运行两次,结果不同,这是为什么呢?

        因为我们给的泛型是Date*,存的是地址,比较的时候,自然也就是指针之间的比较了,每次new出来的空间的地址是不同的,有时大,有时小,所以导致了,多次运行的结果不同,因为地址每次new出来都是不同的。

        我们该怎么解决这个问题呢?

        我们可以自己写一个仿函数即可。

        

        这是我们写的仿函数,我们把指针之间的比较转换为了还是结构体之间的比较了,此时,就会遵循Date这个类中的比较法则了。

        

        此时我们不论运行多少次都是相同的结果,都是降序,想升序的话,可以再写一个升序的仿函数,改一下符号即可。

三.结束语

        感谢大家的查看,希望可以帮助到大家,做的不是太好还请见谅,其中有什么不懂的可以留言询问,我都会一一回答。  感谢大家的一键三连。

http://www.dtcms.com/wzjs/304201.html

相关文章:

  • 在线教育网站有哪些企业培训课程开发
  • 外贸网站推广工作营销网站的建造步骤
  • 微信公众平台网站建设新闻报道个人如何加入百度推广
  • 东莞技术支持 骏域网站建设哈尔滨最新消息
  • 手机免费制作网站品牌营销策略包括哪些内容
  • 网络顾问搜索引擎优化入门
  • 长沙网站制作哪google推广
  • 有没有做任务赚钱网站东莞网络营销推广软件
  • 营销型网站开发公司老司机们用的关键词有哪些
  • 网站制作交易流程seo网络优化日常工作内容
  • 大型网站解决方案设计线上推广的方式
  • 本溪网站建设兼职站长seo工具
  • 我要申请开网店合肥网络推广优化公司
  • 全国企业信息公示系统查询入口里汕头网站优化
  • 网站建设最流行语言经典网络营销案例
  • 嘉兴网站建设服务新闻20字摘抄大全
  • 如何查看网站是用什么模板做的搭建网站的步骤和顺序
  • 有的域名怎样做网站网推平台有哪些比较好
  • 专业做网站app的公司哪家好代写文章哪里找写手
  • 最好的网站建设团队最近一周新闻
  • 深圳做网站公加强服务保障满足群众急需i
  • tinkphp5网站开发汽车宣传软文
  • 做网站违法嘛网站设计公司哪家专业
  • 招商网站平网站平台最新国际足球世界排名
  • 哪个网站能免费下载电影百度云盘下载
  • 湖北建设信息网站上海优质网站seo有哪些
  • 昆山市住房和城乡建设局网站找公司做网站多少钱
  • 制作简单的个人网站百度关键词优化曝光行者seo
  • 自己建网站免费宁德市医院
  • 大连手机自适应网站建设费用广州商务网站建设