1.快速排序

        var arr = [1, 2, 5, 6, 3, 1, 4];
function mySort(arr) {
if (arr.length <= 1) {
return arr;
}
// 获取中间值的索引
var len = Math.floor(arr.length / 2);
// 截取中间值
var middle = arr.splice(len, 1);
var left = [];
var right = [];
for (var i = 0; i < arr.length; i++) {
if (middle > arr[i]) {
left.push(arr[i])
} else {
right.push(arr[i])
}
}
return mySort(left).concat(middle, mySort(right))
}
console.log(mySort(arr))//[ 1, 1, 2, 3, 4, 5, 6 ]

2.冒泡排序

思想:冒泡排序思想:每一次对比相邻两个数据的大小,小的排在前面,如果前面的数据比后面的大就交换这两个数的位置
      要实现上述规则需要用到两层for循环,外层从第一个数到倒数第二个数,内层从外层的后面一个数到最后一个数

var bubbleSort=function(arr){
for(var i=0;i<arr.length-1;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("The result is:"+bubbleSort(arr));

  

最新文章

  1. C#创建安全的栈(Stack)存储结构
  2. 解决:sudo: 无法解析主机:dinphy-500-310cn: 连接超时
  3. 【python】python定时器
  4. 操作素有的ul的元素
  5. ASP.NET 5 入门 (3) – Logging
  6. Backbone源码解析(一):Event模块
  7. 获取jsp页面的宽和高
  8. 条款38:通过聚合设计has-a或者is-implemented-in-terms-of
  9. Python【基础第四篇】
  10. HighCharts常用设置(摘抄笔录)
  11. python学习之旅:array 转 list
  12. 打印 上一主题 下一主题 利用cURL实现单个文件分多段同时下载,支持断点续传(修订版)
  13. ngCookies模块
  14. 3891: [Usaco2014 Dec]Piggy Back
  15. iOS微信内存监控
  16. 修改phpcms中的评论样式
  17. macOS &amp; USB stick
  18. HTML5 头部【快速编写】
  19. vue 后退不刷新页面
  20. 数据分析报告格式zz

热门文章

  1. 牛客网-C++-2020.9.2
  2. http 请求体数据处理2--ngx
  3. C# 简易的串口监视上位机实现
  4. MSSQL渗透测试
  5. 标准库之collections
  6. 思维导图iMindMap可以在哪些领域应用
  7. Camtasia对录制视频字幕编辑的教程
  8. 利用css3和js实现旋转木马图片小demo
  9. jQuery 小demo 热点排名
  10. Java基础知识面试题(最详细版)