摘要: 插入排序 算法思路:和桥牌中类似,每次只考虑一张牌,将新来的牌插入已经排好序的牌中的适当的位置中。在计算机应用中,为了插入新数据,先将较大的数据项一个个向右移动,然后将新数据插入空位中。和选择排序算法一样,排序过程中当前数据项的左边是排好的,不过它们不是处于最后的位置上,因为之后它们可能还需要进行移动来为更小的数据腾出空间。当索引移到最右边时,数组就完全排序好了。一个高效的插入排序的实现:#include <iostream>#include <stdlib.h>using namespace std;template <typename Item>void 阅读全文
posted @ 2012-09-11 22:20 lscheng 阅读(203) 评论(0) 推荐(0) 编辑
摘要: 从今天开始好好研究下排序算法,每一种排序算法都实现并分析。排序的基本知识:文件的排序,这些文件包括数据项(item)和键(key),键是数据项的一个小部分,用于控制排序。排序算法的目的是重新组合数据项,使其键根据一些已经定义好的排序规则整齐排列。如果被排序的文件适合放在内存中,则排序算法被称为内部排序,从磁盘中对文件进行排序,称之为外部排序。首先介绍的是一种最简单的排序算法。选择排序 算法步骤:首先选出数组中最小的项,将它和数组的第一个成员交换(假如按照升序排列),然后选出次小的项,将其与第二个成员交换。按照这种思路一直做下去,直到整个数组排列完成。实现源代码:#include <ios 阅读全文
posted @ 2012-09-11 19:02 lscheng 阅读(852) 评论(2) 推荐(0) 编辑