时间复杂度为O(n2),空间复杂度为O(1)的三个算法,冒泡排序,选择排序,插入排序
冒泡排序(升序):
相邻两个数A、B进行比较,若A > B,交换A、B,下次比较B、C,依次进行。第一次将最大的数放在最后一个,第二次将第二大的数放在倒数第二个,依次进行n - 1次,最终排序完成。示例:
选择排序(升序):
在整个数组上取出一个最大值,把它放在位置n - 1上,在0到 n-2的范围上取出一个最大值,放在n-2的位置上,依次进行,到最后数组变为有序(或者取最小值放在0的位置上再选择依次排序)
示例:(实现得不好,以后回来改)
插入排序(升序):
从数组位置1上的数开始,与前面所有的数进行比较,如果比前面的某一个数小,交换,继续比较,直到位置0。依次进行,最终有序。
示例: