摘要: 转自http://ahalei.blog.51cto.com/4767671/1365285假设我们现在对“6 1 2 7 9 3 4 5 10 8”这个10个数进行排序。首先在这个序列中随便找一个数作为基准数(不要被这个名词吓到了,就是一个用来参照的数,待会你就知道它用来做啥的了)。为了方便,就让... 阅读全文
posted @ 2014-08-04 23:28 hcs2024 阅读(112) 评论(0) 推荐(0) 编辑
摘要: 冒泡排序插入排序是基于“逐个记录插入”,选择排序是基于“选择”,那么冒泡排序其实是基于“交换”。每次从第一个记录开始,一、二两个记录比较,大的往后放,二三两个记录比较...依次类推,这就是一趟冒泡排序。每一趟冒泡排序后,无序序列中值最大的记录冒到序列末尾,所以称之为冒泡排序。//冒泡排序void b... 阅读全文
posted @ 2014-08-04 23:24 hcs2024 阅读(101) 评论(0) 推荐(0) 编辑
摘要: 插入排序 1.给定待排序序列A[ 1.....n ],现假设A[1...i]已经有序,那么我们取出A[i+1]插入到序列A[1...i].这样有序序列记录数就增加了1.如此重复上述操作,不断取出记录插入有序序列,直到A[n]插入到有序序列,排序完成。//直接插入排序void straightIns... 阅读全文
posted @ 2014-08-04 22:29 hcs2024 阅读(313) 评论(0) 推荐(0) 编辑
摘要: 二叉堆的定义二叉堆是完全二叉树或者是近似完全二叉树。二叉堆满足二个特性:1.父结点的键值总是大于或等于(小于或等于)任何一个子节点的键值。2.每个结点的左子树和右子树都是一个二叉堆(都是最大堆或最小堆)。当父结点的键值总是大于或等于任何一个子节点的键值时为最大堆。当父结点的键值总是小于或等于任何一个... 阅读全文
posted @ 2014-08-04 21:35 hcs2024 阅读(136) 评论(0) 推荐(0) 编辑
摘要: 漫谈简单选择排序1.从一个简单问题谈起给定待排序序列A[ 1.....n ],选择出A中最小的记录(也可以理解为求一个无序数组A中的最小的元素)。下面给出代码如下: //选择待排序序列a中的最小记录,其下标为index for(index=i=1;i2.简单选择排序的过程描述:给定待排序序... 阅读全文
posted @ 2014-08-04 21:12 hcs2024 阅读(148) 评论(0) 推荐(0) 编辑