五种排序方法总结

本文详细介绍了五种排序方法:冒泡排序、选择排序、快速排序、插入排序及二分查找法,并通过实例解释了每种方法的实现原理与应用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

此次介绍的是五种排序的方法:
1.冒泡排序
2.选择排序
3.快速排序
4.插入排序
5。二分查找




1:冒泡法,即利用相邻的两个数之间来比较达到交换的目的 从而把最大或最小的数 


移到某一边。故而 此种方法要 进行多个趟次与比较多次。
例如:n个数字,则要进行n-1趟比较。在第m趟中要进行n-m次两两之间的比较。(n>m)




2:选择排序法,即先通过找到满足你想要的条件的位置后,记录下该位置。再把该位


置交换到你想要的某个位置上。
例如:在1 6 8 3 9 4 这串数字中。 你如果要按升序(降序)排序,即要把最大(最小)


的放在最后一个位置。则先通过两两之间的比较,但并不同冒泡法一样的交换,而是


记录下较大(较小)的位置,再与下一个进行比较,直到寻找到最大(最小)的数的那个


位置。后再与最后一个数字交换位置。但还需注意此个条件:如果本身第一个或最后


一个数就是最大(最小)的数,就不必交换了。故而if(k!=i) 此个判断条件要用上。




3.快排法:即快速排序。但此次,我介绍的是应用结构体与快排结合来达到排序的效


果。
首先是结构体的建立。例:
以  bool cmp(point a,point b) 为例
定义结构体的使用方式 如何使用来达到排序的作用
其次是在排序过程中 例:
sort(c,c+n,cmp) C可以是之前定义好的数组 而n则是个数的多少 cmp则是快排的排列


顺序按之前设定好的结构体的形式
这样就可以把你的输入数字按照你想要的cmp的顺序排序好 这样的处理可以节约你对


做题排序题目的思考。




4.插入排序,即在给定的一串数字中,再插入某个数字,后再按一定的顺序输出。在


这里,介绍两种解题方法。
first:你可以把给定的数字先排序好放入数组,后再用查找的方式,找到符合条件放


进去的位置,后再把你插入位置后排序好的数组都后退一个位置。即a[i]=a[i-1].
last:先把给定的数字输入数组,注意:是先从a[1]放第一个数字,把a[0]空余出来。


把数字放好后,再把要插入的数字放在a[0],然后就可以用之前介绍的某个排序方法


,把a[0]到a[n]按顺序排序后输出了。




5.二分查找,即在给定的一串数字中,寻找你想要的数字。提示:此次查找应用的前


提是在已经排序好的数字中才能应用。
首先,是找到中间数min,再通过你要查找的数与中间数的比较,如果你要找的数字


(m>min)则向右边查找,如果(m<min)则向左边查找。并记录下位置的变化。
此种方法可以节约查找到效果所要的时间。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值