会员
周边
新闻
博问
闪存
众包
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
Xoder
博客园
首页
新随笔
联系
订阅
管理
2018年8月24日
堆排序原理简记,及C++实现。
摘要: 堆是一棵顺序存储的完全二叉树。 其中每个结点的关键字都不大于其孩子结点的关键字,这样的堆称为小根堆。 其中每个结点的关键字都不小于其孩子结点的关键字,这样的堆称为大根堆。 举例来说,对于n个元素的序列{R0, R1, … , Rn}当且仅当满足下列关系之一时,称之为堆: (1) Ri <= R2i+
阅读全文
posted @ 2018-08-24 12:28 Xoder
阅读(231)
评论(0)
推荐(0)
2018年8月23日
荷兰国旗问题改进的快速排序,C++实现中的指针传递问题。
摘要: 今天开始学习快速排序,因为之前用过python,在函数之间值得传递过程中没这么麻烦。现在开始用c++,出现了一些错误,如上所示。是一个错误的快排。由于,函数的返回值只能是一个数,此处为改进的额快排,即partition2的作用是把一个数组与数组最后一个数a[n]比较后,分成三部分即大于小于最后一个数
阅读全文
posted @ 2018-08-23 20:36 Xoder
阅读(153)
评论(0)
推荐(0)
C++ 用异或交换陷阱
摘要: 用上面所示函数可以完成对a,b两数的操作。然而,一定要注意,a,b需指向两个不同的地址。即如果a=1,b=1;那么结果没有问题。但是如果是swap(a,a)那么结果就会是0。可做如下修改。 此处虽然是将a==b 拿出来,其实只是为了保障a,b不是指向同一地址。 自学笔记,若有错误,希望指出。
阅读全文
posted @ 2018-08-23 19:57 Xoder
阅读(143)
评论(0)
推荐(0)