摘要: 希尔排序 ======== 希尔排序是插入排序的变体。在插入排序中,我们只将元素向前移动一个位置。当一个元素必须向前移动很远时,就会涉及到许多动作。shellSort的想法是允许远距离项目的交换。在shellSort中,我们将数组h排序为一个较大的h值。我们不断减少h的值,直到它变为1。如果每h个元 阅读全文
posted @ 2019-11-21 19:25 wjundong 阅读(189) 评论(0) 推荐(0) 编辑
摘要: 插入排序 ======== 插入排序是一种简单的排序算法,其工作方式与我们手中扑克牌的排序方式相同。 算法演示 // 排序大小为n的arr[] insertionSort(arr,n) 从i=1到n 1的循环 拾取元素arr[i]并将其插入排序序列arr[0…i 1] 例子 另一个例子 让我们循环i 阅读全文
posted @ 2019-11-21 13:43 wjundong 阅读(114) 评论(0) 推荐(0) 编辑
摘要: 选择排序 ======== 选择排序算法通过重复查找未排序部分的最小元素(考虑升序)并将其放在开头来对数组进行排序。该算法在给定的数组中维护两个子数组: 已经排序的子数组。 未排序的剩余子阵列。 在选择排序的每次迭代中,从未排序的子数组中拾取最小元素(考虑升序)并将其移动到排序的子数组。 以下示例说 阅读全文
posted @ 2019-11-21 11:38 wjundong 阅读(114) 评论(0) 推荐(0) 编辑
摘要: 冒泡排序 ======== 冒泡排序是最简单的排序算法,它通过重复交换相邻元素(如果它们的顺序不正确)来工作。 例如: 第一遍: ( 5 1 4 2 8) ( 1 5 4 2 8),这里,算法比较前两个元素,由于5 1所以交换。 (1 5 4 2 8) (1 4 5 2 8),交换,由于5 4。 ( 阅读全文
posted @ 2019-11-21 11:09 wjundong 阅读(164) 评论(0) 推荐(0) 编辑