js排序方法

js排序方法这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好!这是你第一次使用Markdown编辑器所展示的欢迎页。如果你想学习如何使用Mar

1//数组本身sort排序

  var arr=[1,2,14,65,3,97,24]
 
    //必须设置一个排序函数 a-b升序 b-a降序
    arr.sort(function(a,b){ 
   
       return a-b
    })
  console.log(arr);//[1, 2, 3, 14, 24, 65, 97]
  
 //冒泡
//相邻两个比较,小的去前面,再开始第二轮比较
    function fn (arr){ 
   
            for(var i =0;i<arr.length;i++){ 
   
            		for(var j=0;j<arr.length-i;j++){ 
   
                        ///相邻两个比较,小的去前面
            			if(arr[j]>arr[j+1]){ 
   
            					var temp=arr[j];           				
            					arr[j]=arr[j+1]
            arr[j+1]=temp
            					}
            				}
            		}
            return arr;
        }
     console.log(fn(arr));
//========选择排序=============
//外层循环遍历每一项,第一次用第一个数跟后面所有的比较,小的去第一个;
//第二次用第二个跟后面所有比较,小的去第二个
     function xuanze (arr){ 
   
         for(var i =0;i<arr.length;i++){ 
   
             for(var j=i+1;j<arr.length;j++){ 
   
                 if(arr[i]>arr[j]){ 
   
                     var temp=arr[i];
                     arr[i]=arr[j];
                     arr[j]=temp;

                 }
             }
         }
         return arr;
     }
     console.log(xuanze(arr));

快排

function quickSort(arr){ 
   
	//如果数组<=1,则直接返回
	if(arr.length <= 1) return arr
	
	var zhongIndex = Math.floor(arr.length / 2)
	//取出中间下标对的值,原值删除
	var zhong = arr.splice(zhongIndex, 1)[0]
	//定义左右数组
	var left = [], right = []
	//比基准小的放在left,比基准大的放在right
	for(var i = 0; i < arr.length; i++){ 
   
	    if(arr[i] <= zhong){ 
   
	        left.push(arr[i])
	    }else{ 
   
	        right.push(arr[i])
	    }
	}
	 //最后将数组连接 ,左右数组递归调用
	return quickSort(left).concat([zhong],quickSort(right))
}
console.log(quickSort(arr));

今天的文章js排序方法分享到此就结束了,感谢您的阅读。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/6997.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注