鱼C论坛

 找回密码
 立即注册
查看: 4194|回复: 28

[每日一练] 算法20 ◉‿◉ 选择排序

[复制链接]
发表于 2017-5-24 21:38:29 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 不二如是 于 2017-5-24 21:45 编辑


                               
登录/注册后可看大图


按照提示,完成代码,秀秀你的编程能力!

不许看答案,否则打屁屁




220245sqxsiglujuqqgfqi.gif

程序分析:
  选择排序(Selection-sort)是一种简单直观的排序算法。它的工作原理:首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。        [/b]


源代码:
游客,如果您要查看本帖隐藏内容请回复

Snip20170524_154.png






如果喜欢,请订阅
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-10-31 17:07:17 | 显示全部楼层
想学
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-2-28 20:34:14 From FishC Mobile | 显示全部楼层
喵~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-3-8 22:08:29 | 显示全部楼层
看看
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-5-3 20:16:44 | 显示全部楼层
here
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-5-4 10:47:10 | 显示全部楼层
膜拜大佬
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-5-4 16:42:31 | 显示全部楼层
window.onload = function(){
                                var arr = [33,35,65,18,34,64,22,15,2,99,21,230];
                                
                                
                                document.write('原来数组排序是:'+arr.join(',')+'<br/>');
                                for(var i = 0; i < arr.length; i++){
                                        for(var j = i; j <arr.length; j++){
                                                if(arr[i] > arr[j]){
                                                        arr[i] ^= arr[j];
                                                        arr[j] ^= arr[i];
                                                        arr[i] ^= arr[j];
                                                } 
                                        }
                                        
                                        document.write('第'+(i+1)+'次的排序结果是:'+arr.join(',')+'<br/>');
                                }
                                
                                //alert(arr);
                        };
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-5-9 06:30:16 From FishC Mobile | 显示全部楼层
谢谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-6-21 19:54:04 | 显示全部楼层
路漫漫啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-9-5 21:09:55 | 显示全部楼层
1111
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-9-11 20:48:53 | 显示全部楼层
kankan
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-9-24 15:27:32 | 显示全部楼层
emm
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-9-25 16:46:47 | 显示全部楼层
<!DOCTYPE html>
<html>
<head>
        <title>20</title>
        <meta charset="utf-8">
        <script type="text/javascript">        
        var listw=new Array(2,3,5,1,6,7,4,9,39,50,22,15,24,14);
        var lista=new Array();
        var lista=paix(listw,lista);
        document.write("最好排序后的列表:"+lista);
        function paix(list1,olist){
                var temp=0;
                var len=list1.length;
                if(len>1){
                        for(var i=0;i<list1.length-1;i++){
                                if(list1[i]<list1[i+1]){
                                        temp=list1[i];
                                        list1[i]=list1[i+1];
                                        list1[i+1]=temp;
                                }
                        }                
                        olist.push(list1[len-1]);
                        var pageone=list1.slice(0,-1);
                        paix(pageone,olist);        
                }
                else{olist.push(list1[0]);}
                return olist;
        }
        </script>
</head>
<body>

</body>
</html>
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-10-10 16:13:38 | 显示全部楼层
var shift = [7895,56,445,65,64,94,564,54,5,46,1];
var max_vals = [];
var max_fun = function(array1){
        var n = array1.length;                                        //存长度值,因为后面for要删原数组的值
        for(var i=0;i<n;i++){
                var max_val = Math.max.apply('',array1);        //获取数组最大值
                max_vals.unshift(max_val);                        //在开头加入最大值
                var index = shift.indexOf(max_val);
                shift.splice(index,1);                                //删除原数组中的最大值继续比较
        }
        console.log(max_vals);
}
max_fun(shift);

这个耗时看看版主大大的写法,按照fun执行前后插getDate的方法代码量实在有点多
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-10-10 16:16:23 | 显示全部楼层
好吧,这个耗时是我知识储备少了,竟然还想着那种方法.....
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-10-24 17:44:46 | 显示全部楼层
gg
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-11-28 22:21:36 | 显示全部楼层
就看
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-12-3 08:27:25 From FishC Mobile | 显示全部楼层
谢谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-12-3 18:11:35 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-1-9 10:29:10 | 显示全部楼层
        function fF(squence) {
                var i;
                var j;
                var Max;
                var len = squence.length;
                

                for (j = 1; j < len; j ++) {
                        for (i = 0; i < len - j; i ++) {
                                if (squence[i] > squence[i + 1]) {
                                        Max = squence[i];
                                        squence[i] = squence[i + 1];
                                        squence[i + 1] = Max;
                                        
                                }
                        }
                        // console.log(squence);
                }
                console.log(squence);        
        }
        fF([41117,444,138,50,115,46,27,26,19,1,2,45,36,3]);
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-22 20:32

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表