三种基本排序-冒泡排序、直接插入排序、选择排序

来源:互联网 发布:python默认编码方式 编辑:程序博客网 时间:2024/06/01 09:56

冒泡排序(从大到小)

       原理:对于n个数,需要进行n-1次扫描,每次扫描通过相邻两个数的比较,找出最大的数,放到数列顶部。

      程序:

    1.冒泡排序1:每次扫描把下一个元素和最前面的元素比较,一次扫描结束后,最大的元素就在最前面了。

    

  2.冒泡排序2:每扫描一次,通过相邻两个元素的比较,使得最小或最大的数位于顶部。

  

3.冒泡排序3。对冒泡排序的改进方法:通过加入exchange变量用来判断每次扫描是否发生数值交换,如果哪次扫描没有发生数值交换,则已经排序好,无需进行下次扫描,减少了时间复杂度。

  以上三个简单的冒泡算法中,用了三种不同的数值交换方法:加减法、置换法、位运算法。其中位运算法效率最高。

 以上排序均为从大到小排序,若要从小到大,只做少许改动即可,原理相同!

 

直接插入排序


 原理:每次执行,把后面的数插入到前面已经排序好的数组中,直到最后一个完成。

 

选择排序

 

    原理:每次从待排序的记录中选出最大的数,放入已排好序的子文件中,直到全部记录完成。

 

以下为main函数及数组打印函数:

  

  以上三种简单排序算法,都是从大到小的排序!



原创粉丝点击