码迷,mamicode.com
首页 > 编程语言 > 详细

排序算法(1)

时间:2018-02-10 14:02:25      阅读:144      评论:0      收藏:0      [点我收藏+]

标签:style   插入排序   依次   最大   inf   比较   二次   最大的   空间复杂度   

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

冒泡排序(升序):

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

技术分享图片

选择排序(升序)

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

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

技术分享图片

插入排序(升序):

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

示例:

技术分享图片

排序算法(1)

标签:style   插入排序   依次   最大   inf   比较   二次   最大的   空间复杂度   

原文地址:https://www.cnblogs.com/mySerilBlog/p/8438468.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!