概述
此次介绍的是五种排序的方法:
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)则向左边查找。并记录下位置的变化。
此种方法可以节约查找到效果所要的时间。
最后
以上就是细腻跳跳糖为你收集整理的五种排序方法总结的全部内容,希望文章能够帮你解决五种排序方法总结所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复