linux常见的几种排序方法

我们以数组a[ ]={2,6,8,9,1,2}进行排序输出作为列子:下面我来总结几种方法来帮助大家学习

 

1:常规排序

 
       首先2和6对比,2不比6大不因此不交换,所以还是268912,然后2和89对比2都是比89小,还是268912,到了2和1比,2比1大所以变成168922,之后2和2对比,相同交换位置,之后再用6和89对比,6比89都小,所以不换,6比2小,所以换成128962,之后2和2相等交换位置,之后8和9比,比9小不会,然后和6比,比6大所以进行交换变成126982,之后6和2比,6比2大所以交换变成122986,之后是9比8大,所以交换变成122896,然后8比6大所以交换,变成122698,最后9比8大所以交换变成122689, 总结就是每一位和后面比吧最小的放在前面完成排序。
程序可以用连个for循环
 
2:冒泡排序法
冒泡排序和常规排序相反,两两比较,把大的数放在后面我们268912做例子,首先2和6比较,2比6小,所以补交换,然后和8比小,也不交换,和9也一样,然后9和1比,9大进行交换变成268192,然后9和2比大进行交换268129,如此类推,两两比较,每次把最大的那个数放在后面在GCC下的代码如下:
 
 
 
 
快速排序法
 
使用快速排序法他的速度不一定,有时可能一次就排好,有时比较慢,还不理解的可以看http://v.youku.com/v_show/id_XNDI0ODk4NTMy.html?from=s1.8-1-1.2这个视频,用舞蹈的方式生动的诠释快速排序法
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

GeekFong

记录不易,坚持更新

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值