js数组内数字按大小排序实现函数

来源:互联网 发布:linux help和man 编辑:程序博客网 时间:2024/06/05 23:05

1、代码

var arr = [5,100,6,3,-12];function sort(arr){    for(var i=0;i<arr.length-1;i++){        for(var j=0;j<arr.length-i-1;j++){            if(arr[j]>arr[j+1]){                var hand = arr[j];                arr[j]=a[j+1];                a[j+1]=hand;            }        }    }    return arr;}sort(arr);

2、思路

外层循环i=0i=0 j=0 arr=[5,100,6,3,-12]i=0 j=1 arr=[5,6,100,3,-12]i=0 j=2 arr=[5,6,3,100,-12]i=0 j=3 arr=[5,6,3,-12,100]外层循环i=1i=1 j=0 arr=[5,6,3,-12,100]i=1 j=1 arr=[5,3,6,-12,100]i=1 j=2 arr=[5,3,-12,6,100]外层循环i=2i=2 j=0 arr=[3,5,-12,6,100]i=2 j=1 arr=[3,-12,5,6,100]外层循环i=3i=3 j=0 arr=[-12,3,5,6,100]

3、总结

由此可以看出,将相邻的两个数依次相比较,大数向后放,小数向前移。即是位置交换实现小数在前,大数在后。经过10次比较后,最终实现重排。

4、类比

如果从大到小排序的话,则将if(arr[j]>arr[j+1])改为if(arr[j]<arr[j+1])即可
原创粉丝点击