排序算法(1)

时间复杂度为O(n²),空间复杂度为O(1)的三个算法,冒泡排序,选择排序,插入排序

冒泡排序(升序):

相邻两个数A、B进行比较,若A > B,交换A、B,下次比较B、C,依次进行。第一次将最大的数放在最后一个,第二次将第二大的数放在倒数第二个,依次进行n - 1次,最终排序完成。示例:

选择排序(升序)

在整个数组上取出一个最大值,把它放在位置n - 1上,在0到 n-2的范围上取出一个最大值,放在n-2的位置上,依次进行,到最后数组变为有序(或者取最小值放在0的位置上再选择依次排序)

示例:(实现得不好,以后回来改)

插入排序(升序):

从数组位置1上的数开始,与前面所有的数进行比较,如果比前面的某一个数小,交换,继续比较,直到位置0。依次进行,最终有序。

示例:

posted @ 2018-02-10 12:29  seril  阅读(175)  评论(0编辑  收藏  举报