随笔分类 - 数据结构
摘要:快速排序_c++ "GitHub" 文解 快速排序正如其名,是一种排序速度较快的排序算法. 其核心思想: 取数组的第一个数,确定其在整个数组中的位置. 以刚刚的数值所确定的位置经数组分为两个部分. 再分别对两个部分进行以上两步操作. 重复以上三步,到整个数组有序位置. 图解 代码 void fast
阅读全文
摘要:插入排序_c++ "GitHub" 文解 插入排序的核心思想是针对于 N 个元素进行排序时,共进行 K = (N 1) 次排序,第 M 次排序时将第 M + 1 个元素插入前 M 个元素中进行排序. 图解 代码 void insertArray(short pArray, short count)
阅读全文
摘要:选择排序_c++ "GitHub" 文解 选择排序的核心思想是对于 N 个元素进行排序时,对其进行 K = (N 1) 次排序,每次排序从后(N + 1 K)个数值中选择最小的元素与以 (K 1) 为下标的元素互换,最后得到一个升序列表. 选择排序与冒泡排序有一些相似,本质上都是逐次排序. But
阅读全文
摘要:冒泡排序_c++ "GitHub" 文解 冒泡排序是采用类似气泡上升的方式对数据进行排序. 例如: 我们这里有10个元素,具体数值随意,对每个数值标记上 1~10 的标记. 首先将标记为 1 的数值与标记为 2 的数值进行比较,如果(1)大于(2)我们就将(1)与(2)互换数值,否则不做任何操作,然
阅读全文
摘要:数据结构 直接插入排序 实现效果 从小到大排序 算法原理 有一个已经有序的数据序列,要求在这个已经排好的数据序列中插入一个数,但要求插入后此数据序列仍然有序. 算法步骤 1. 从第一个元素开始,该元素可以认为已经被排序. 2. 取出下一个元素,在已经排序的元素序列中从后向前扫描. 3. 如果该元素(
阅读全文
摘要:数据结构 冒泡排序 实现效果 从小到大排序 算法原理 重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到不再需要交换,也就是说该数列已经排序完成。 算法步骤 1. 比较相邻的元素,如果第一个比第二个大,就交换他们两个. 2. 对每一对相邻元
阅读全文

浙公网安备 33010602011771号