永发信息网

请描述下排序算法?

答案:4  悬赏:50  手机版
解决时间 2021-05-03 04:02
在排序算法里面,分别有什么算法?这些算法的思路是怎样的?各有什么优缺点?
最佳答案

就是两两判断大小,把大的放在后面,然后在两两判断----就是一直判断下去,把小的放在前面,大的放在后面。然后在输出出来,就是从小到大排列。

全部回答
有快速排序,冒泡排序,插入排序,选择排序,希尔排序,计数排序。。。。。细分的话很多,只讲些普通的吧。 快排就是将开头的元素设为中间值,通过头尾指针的移动来将小于中间值的数排左边,大于排右边,然后再分别对左右快排..循环..直到结束,一般链表实用较多,而且效率也算是比较高的; 冒泡排序就是通过循环嵌套每次将最大数沉到底部,算法实现比较简单,效率低; 插入有很多种 直接插入排序:顾名思义,取第i个数,插入到已经有序的a[0]~a[i-1]中,实现简单,效率低; 折半插入:在a[0]~a[i-1]中采用折半查找法寻找a[i]的插入位置; 直接选择排序:执行n-1趟排序,第i(1≤i ≤n-1)次排序将a[0~n-i]中的最大元素a[j]与a[n-i]互换; 希尔排序。。。忘了。。。; 计数排序感觉最简单。。。适用于数值交小的排序,如有1、4、2、5、6、9、3、2、1、2、4、5 这一乱序,可以申请一个a[10],初值0,排序过程则为: a[1]++; a[4]++; a[2]++; a[5]++; a[6]++; 。。。。。 显示排序结果: for(i=0;i<10;i++) for(j=0;j<a[i];j++) cout<<a[i]; 输出结果即排序结果,方法简单,适用范围小,不过有时比上面的算法效率高很多,看情况使用; 楼上说的java里的是array.sort()方法,是改进的快排,但是要实现compareable接口并复写compareto()方法; 要详细了解排序算法的话可以google下,这里讲的比较浅。
我知道的有插入,冒泡,希尔,快速.还有其他的就不知道了,一般是用冒泡,但是如果数据很多,冒泡就会变的很慢,这是冒泡最大的缺点,应为数据要经过2次比较,速度会降低.....还有就是JAVA的JDK里面的LIST有自带compareTo的排序方法,只要重写下方法就可以了,所以一般也不要去写什么排序算法,具体的

我常用的就是冒泡法 FOR 循环里再加一下FOR循环,外循环次数为 数组长度-1,内循环次数为 数组长度-1-i 具体可以百度一下冒泡排序 很详细!

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
世界四大金融中心分别是?
兴达民族用品地址在什么地方,想过去办事
PEAK(匹克)鞋能穿吗?板鞋、
三星C458
我的 工商银行怎么取不 里 钱?
东鹏瓷砖质量怎么样,雅俊陶瓷怎么样?是哪里
如何赠送结晶
飞轮海成员的博客
台服现在还能用WPE过任务吗?
求几个戒律M PVP 比较使实用的宏。。。。
如何用气息唱歌
乌拉特后旗二完小在哪里啊,我有事要去这个地
重庆东风日产
为什么我的CF图是亮不了?
体育彩票超级大乐透1091期买什么号码?
推荐资讯
自由签是啥意思
怎么我守着我的牧场还是被偷?
我上次是4号来的月经,最近的排卵期是哪日
如何加强大学生诚信思想道德建设
安卓手机远程端口号,帮我想一些关于广告宣传
怎样样做自己才快乐呢?
这道物理应用题怎么做?
网娃成长乐园怎样让名字变紫色
-1减7=多少
七上历史书世界与中国地图
我QQ空间怎么这样子
泰德大厦在什么地方啊,我要过去处理事情
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?