| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2195 人关注过本帖
标题:从数组抽取前5位最大值,并按大小排序
只看楼主 加入收藏
google
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:22
帖 子:3419
专家分:23
注 册:2005-11-1
收藏
得分:0 

我也不想了,也头晕,郁闷


祝天下所有母亲幸福安康!~
2007-03-26 13:30
google
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:22
帖 子:3419
专家分:23
注 册:2005-11-1
收藏
得分:0 
冒泡+2分呢?

祝天下所有母亲幸福安康!~
2007-03-26 13:31
wyb19850616
Rank: 6Rank: 6
来 自:大连
等 级:贵宾
威 望:29
帖 子:3172
专家分:126
注 册:2006-10-3
收藏
得分:0 

早就说了 用冒泡是可以地
傻LIVE41 算法给你了 自己想吧


多年以后我就会很老了  腰间那柄玄铁剑也换成了木剑 我拖着它浪迹天涯    我一生打败了无数江湖豪客    然而   却打不败逝者如斯的时光和对你无尽的思念
2007-03-26 13:36
google
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:22
帖 子:3419
专家分:23
注 册:2005-11-1
收藏
得分:0 
我的思路:先比较前两个,这样比较一次,,然后第3个和最大的比较,如果小,然后再和第二个比较,这样前3个已经排序了,第四个开始可以和前面的用二分法进行排序了,
这样的比较要1,2,3,4,5,6,7,8,9次,而且用二分法可以节省比较次数
而纯冒泡的话要比较9,8,7,6,5,4,3,2,1次,应该不能结合二分吧

[此贴子已经被作者于2007-3-26 13:37:32编辑过]


祝天下所有母亲幸福安康!~
2007-03-26 13:36
福尔摩斯
Rank: 5Rank: 5
等 级:贵宾
威 望:12
帖 子:4011
专家分:370
注 册:2006-8-15
收藏
得分:0 
以下是引用google在2007-3-26 13:30:10的发言:

我也不想了,也头晕,郁闷

觉得好玩,我把这种算法推广到 实数集 吧

按照 最大的5个数字(最小的也一样,5也是可以改的)

首先,先抽取最小数字(正负数都可以,如果抽最小的5个数字,就把最小数字改成最大数字就可以了),然后,在这个数-1,备用

第二步,抽取数组中最大的数字,在它的位子上替换上第一步的那个数字;如此循环做5次,就能得到你要的那5个数字(而且不要冒泡


自我放逐。。。
2007-03-26 13:36
google
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:22
帖 子:3419
专家分:23
注 册:2005-11-1
收藏
得分:0 
以下是引用福尔摩斯在2007-3-26 13:36:54的发言:

觉得好玩,我把这种算法推广到 实数集 吧

按照 最大的5个数字(最小的也一样,5也是可以改的)

首先,先抽取最小数字(正负数都可以,如果抽最小的5个数字,就把最小数字改成最大数字就可以了),然后,在这个数-1,备用

第二步,抽取数组中最大的数字,在它的位子上替换上第一步的那个数字;如此循环做5次,就能得到你要的那5个数字(而且不要冒泡

抽取最小的过程要两两比较一下,其实已经冒泡了.


祝天下所有母亲幸福安康!~
2007-03-26 13:38
福尔摩斯
Rank: 5Rank: 5
等 级:贵宾
威 望:12
帖 子:4011
专家分:370
注 册:2006-8-15
收藏
得分:0 
以下是引用google在2007-3-26 13:38:45的发言:

抽取最小的过程要两两比较一下,其实已经冒泡了.

注意分号的位置


自我放逐。。。
2007-03-26 13:43
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
收藏
得分:0 
都是一些强人,可惜啊,没学过这些东西

可惜不是你,陪我到最后
2007-03-26 13:44
google
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:22
帖 子:3419
专家分:23
注 册:2005-11-1
收藏
得分:0 
以下是引用google在2007-3-26 13:36:46的发言:
我的思路:先比较前两个,这样比较一次,,然后第3个和最大的比较,如果小,然后再和第二个比较,这样前3个已经排序了,第四个开始可以和前面的用二分法进行排序了,
这样的比较要1,2,3,4,5,6,7,8,9次,而且用二分法可以节省比较次数
而纯冒泡的话要比较9,8,7,6,5,4,3,2,1次,应该不能结合二分吧



不过这个好象还不如冒前5个.


祝天下所有母亲幸福安康!~
2007-03-26 13:45
福尔摩斯
Rank: 5Rank: 5
等 级:贵宾
威 望:12
帖 子:4011
专家分:370
注 册:2006-8-15
收藏
得分:0 
以下是引用google在2007-3-26 13:45:27的发言:


不过这个好象还不如冒前5个.

你这个相当于先排序,再抽取

我的相当于抽取的过程中排序


自我放逐。。。
2007-03-26 13:49
快速回复:从数组抽取前5位最大值,并按大小排序
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.029064 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved