不二如是 发表于 2017-5-24 21:38:29

算法20 ◉‿◉ 选择排序

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

http://xxx.fishc.com/forum/201705/05/225545py2j222x5z6x55n2.png

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

不许看答案,否则打屁屁



程序分析:

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

源代码:
**** Hidden Message *****




○面试题索引贴●
如果喜欢,请订阅{:10_303:} :
HTML5 - 庖丁解牛 + JavaScript - 庖丁解牛

orzQiqi 发表于 2017-10-31 17:07:17

想学

Dr丶温 发表于 2018-2-28 20:34:14

喵~

漢\n 发表于 2018-3-8 22:08:29

看看

向一朵朵鲜花 发表于 2018-5-3 20:16:44

here

Peanut丶酱 发表于 2018-5-4 10:47:10

膜拜大佬

dsa159245 发表于 2018-5-4 16:42:31

window.onload = function(){
                                var arr = ;
                               
                               
                                document.write('原来数组排序是:'+arr.join(',')+'<br/>');
                                for(var i = 0; i < arr.length; i++){
                                        for(var j = i; j <arr.length; j++){
                                                if(arr > arr){
                                                        arr ^= arr;
                                                        arr ^= arr;
                                                        arr ^= arr;
                                                }
                                        }
                                       
                                        document.write('第'+(i+1)+'次的排序结果是:'+arr.join(',')+'<br/>');
                                }
                               
                                //alert(arr);
                        };

lijialijialijia 发表于 2018-5-9 06:30:16

谢谢

忆不俊源 发表于 2018-6-21 19:54:04

路漫漫啊

spqk410 发表于 2018-9-5 21:09:55

1111

tusiji 发表于 2018-9-11 20:48:53

kankan

a211827754 发表于 2018-9-24 15:27:32

emm

waitforlove 发表于 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<list1){
                                        temp=list1;
                                        list1=list1;
                                        list1=temp;
                                }
                        }               
                        olist.push(list1);
                        var pageone=list1.slice(0,-1);
                        paix(pageone,olist);       
                }
                else{olist.push(list1);}
                return olist;
        }
        </script>
</head>
<body>

</body>
</html>

凌乱大帅比 发表于 2018-10-10 16:13:38

var shift = ;
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的方法代码量实在有点多

凌乱大帅比 发表于 2018-10-10 16:16:23

好吧,这个耗时是我知识储备少了,竟然还想着那种方法.....{:10_297:}

simble 发表于 2018-10-24 17:44:46

gg

林少# 发表于 2018-11-28 22:21:36

就看

1540621648 发表于 2018-12-3 08:27:25

谢谢

点青苍 发表于 2018-12-3 18:11:35

{:10_256:}

cupbbboom 发表于 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 > squence) {
                                        Max = squence;
                                        squence = squence;
                                        squence = Max;
                                       
                                }
                        }
                        // console.log(squence);
                }
                console.log(squence);       
        }
        fF();
页: [1] 2
查看完整版本: 算法20 ◉‿◉ 选择排序