C/C++
alw_123
码农一只
展开
-
数组名与数组名前加取地址符
代码: int main() { int a[10]={1,2,3,4,5,6,7,8,9,10}; cout cout return 0; } 结果: 我们知道数组名与数组名取地址所得到的地址都是一样的,由第一行的输出可以验证这一结论。那么如果都在这基础上加上指针运算呢,一开始我也觉得结果是相同的,但事实是让我懵逼的。由第二行输出可以知道a+1后指针原创 2016-01-12 15:03:59 · 10056 阅读 · 3 评论 -
为什么快排比堆排快
堆排过程(大顶堆) 建立最大堆(堆顶的元素大于其两个儿子,两个儿子又分别大于它们各自下属的两个儿子… 以此类推) 将堆顶的元素和最后一个元素对调(相当于将堆顶元素(最大值)拿走,然后将堆底的那个元素补上它的空缺),然后让那最后一个元素从顶上往下滑到恰当的位置(重新使堆最大化)。 重复第2步。 这里的关键问题就在于第2步,堆底的元素肯定很小,将它拿到堆顶和原本属于最大元素的两个子节点比较,它比它们大的原创 2016-08-07 10:48:07 · 1496 阅读 · 0 评论