
C++
文章平均质量分 78
Silence723
这个作者很懒,什么都没留下…
展开
-
C++实现二分查找算法
想必二分查找很多人都不陌生,或许说很熟悉,但是在实际生活中又有很多人不能正确的写出它的相应代码,因为二分查找的边界条件等很难控制,下面我们来仔细的分析一下二分查找,这只是个人看法,如有异议,欢迎提出。 1、二分查找可以解决的问题:二分查找可以解决预排序数组的查找问题。只要数组中包含T(即要查找的值),那么通过不断的缩小包含T的范围,最终就可以找到它。一开始,范围覆盖整个数组,将数组的中间项与T原创 2016-07-27 11:08:26 · 18786 阅读 · 0 评论 -
已知二叉树的前序与中序遍历序列,求重建后的二叉树(即是二叉树的重建)
关于二叉树的概念,想必大家基本上都已经很清楚了,那么在这里我就不再一一赘述了。那么请看下面这道题:如果已知某二叉树的前序遍历结果为{1,2,4,7,3,5,6,8},中序遍历序列为{4,7,2,1,5,3,8,6},求此重建后的二叉树。1、实现思路: 我们都知道前序遍历是先访问根节点,然后是左子树,接着是右子树,因此在前序遍历序列中,第一个节点值就是根结点的值。但是在中序遍历原创 2016-07-27 11:13:12 · 1057 阅读 · 0 评论 -
微信红包问题求前K个元素(即堆排序的应用)
如我们要在100000个人中找出发红包次数最多的前100个人,那么我们可以用到堆排序的相关知识,下面我们来具体实现一下它,相关代码如下所示://这是做一个向下调整voidAdjustDown(int* a,intsize,intparent){ intchild = parent*2+1; while(ch原创 2016-07-27 11:20:23 · 909 阅读 · 0 评论 -
C++中传值、传址与传引用的区别
1、参数传递的概念 所谓参数传递就是用函数调用所给出的实参(实际参数)向函数定义所给出的形参(形式参数)设置初始值的过程。在c++中,调用函数时有三种参数传递方式,分别为:(1)传值调用;(2)传址调用(即是传指针);(3)传引用; 总体上参数传递可以分为两类,由形参的类别决定:值调用与引用调用。除了定义为引用类型的形参外,其他类型的形参都是对应着值调用。指针传递也是原创 2016-07-19 10:07:55 · 6577 阅读 · 0 评论 -
栈和队列
栈的定义--Stack栈只允许在末端(即是栈顶)进行插入和删除的线性表。栈具有后进先出的特性(LIFO,Last In First Out)。线性表分为:顺序表和链表。栈:只允许在尾上(即是栈顶)进行插入与删除。队列:它是在队尾插入,队头删除。下图是详细说明:2、栈选数组(即顺序表)结构时(比选链表结构更好):因为选数组结构可以进行size+原创 2016-07-19 10:18:42 · 483 阅读 · 0 评论