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

冒泡排序(从大到小)

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

      程序:

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

    

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

  

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

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

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

 

直接插入排序


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

 

选择排序

 

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

 

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

  

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



评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值