![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
文章平均质量分 94
IWTBM
这个作者很懒,什么都没留下…
展开
-
算法笔记:堆排序1.0
菜鸟自学笔记(1):堆排序1.01.堆是什么:堆其实就是一个完全二叉树特点:父结点的键值都比他的子结点键值大,或者父结点键值都比他的子结点键值小,前者称之为大根堆,后者称之小根堆。堆中任一子树亦是堆。例如下图(大根堆): 2.堆特性的应用 对于给的一组数据,如上图(16,14,10,8,7,9,3,2,4,1),从大到小排序。如上图,一个大根堆,的根节点,明显是一组数据的最大值。首原创 2016-07-07 23:34:07 · 291 阅读 · 0 评论 -
算法笔记:堆排序2.0
由于第一次写博客的狼狈(写了一堆话,忘了保存,导致重写),接下来写准备以(题目-分析-代码)的形式去写。题目一:寻找一组数据中第K大的数分析:题目描述很简单,完全可以将所有的数据从大到小进行排序,选取第K个数,便可以解决我们的问题,这样的话,时间复杂度就将取决于我们排序算法的时间复杂度。排序里,快排和堆排都是不错的选择,时间复杂度o(NlogN)但是其实题目一并没有要求我们要把所有数据有序啊,直接粗原创 2016-07-14 00:35:18 · 387 阅读 · 0 评论 -
C++:大数类BigInt(有符号)
写C++阶乘的时候的,感觉阶乘的增长速度有点超乎我的想象,30!已经超过long long 的范围了。想想其实也是理所当然的事。就自己封装了一个大数类使用。代码如下:/************************************************* Copyright:iwtbam Author: iwtbamDate:2017-11-23 Description:C++大原创 2017-11-23 10:02:10 · 5842 阅读 · 2 评论 -
C++ Template (一):模板基础
一、如何使用模板(template)模板定义:模板就是实现代码重用机制的一种工具,它可以实现类型参数化,即把类型定义为参数, 从而实现了真正的代码可重用性。模版可以分为两类,一个是函数模版,另外一个是类模版。我们可以通过下面的形式template < parameter-list > declarationtemplate<typename T>原创 2018-11-07 15:20:18 · 1712 阅读 · 0 评论 -
C++ Template (二):初步元编程
前言 在上一篇博客C++ Template (一):模板基础中,简单介绍了模板的定义,实例化,特化以及参数包的使用,在一些简单的场景中,已经可以通过这些知识去大展手脚了。但是想真正发挥Template的威力,还有很长的路要走。在本篇博文中会介绍Template为C++添加的平行宇宙 模板元编程 Template metapromming (后文简称TMP)。首先要说明TMP是图灵完备的,这也...原创 2018-11-07 16:40:10 · 588 阅读 · 0 评论