web建站教程
  1. 首页
  2. vuejs
  3. js
  4. 好玩
  5. seo教程
  6. 前端知识
  7. 百度echarts
  8. 更多
    php入门
    nodejs
    mockjs
    reactjs
    mysql
    wordpress
    织梦cms
    帝国cms
    git教程
    IT知识
    模板大全
    休息站

js最常见的几种排序方法介绍

465 ℃
           

JS快速排序

var quickSort = function(array) {  
  if (array.length <= 1) {
	return array;
 }
 
  var middleIndex = Math.floor(array.length / 2);  
  var middle = array.splice(middleIndex, 1)[0];  
  var left = [];  
  var right = [];  
  for (var i = 0; i < array.length; i++) {    
    if (array[i] < middle) {  
       left.push(array[i]); 
    } else {
       right.push(array[i]); 
    }  
  }  
  return quickSort(left).concat([middle], quickSort(right));
};

JS选择排序

function selectSort(array){
  var len = array.length,
    min;
  
  for (i=0; i < len; i++){
    min = i;
    for (j=i+1; j < len; j++){
      if (array[j] < array[min]){
        min = j;
      }
    }
  
    if (i != min){
      exchange(array, i, min);
    }
  }
  
  return array;
}
function exchange(array, p1, p2){
  var temp = array[p1];
  array[p1] = array[p2];
  array[p2] = temp;
}

JS冒泡排序

function bubbleSort(array){
  var len = array.length;
  var i;
  var j;
  var stop;
 
  for (i = 0; i < len - 1; i++){
    for (j = 0, stop = len - 1 - i; j < stop; j++){
      if (array[j] > array[j + 1]){
        exchange(array, j, j + 1);
      }
    }
  }
  return array;
}
 
function exchange(array, p1, p2){
  var temp = array[p1];
  array[p1] = array[p2];
  array[p2] = temp;
}

JS插入排序

function insertSort(array) {
  var len  = array.length,
    value,
    i, 
    j; 
  for (i=0; i < len; i++) {
    value = array[i];
    for (j=i-1; j > -1 && array[j] > value; j--) {
      array[j+1] = array[j];
    }
    array[j+1] = value;
  }
  
  return array;
}

JS合并排序

function merge(left, right) {
  var result = [],
    left_index = 0,
    right_index = 0;
  
  while (left_index < left.length && right_index < right.length) {
    if (left[left_index] < right[right_index]) {
       result.push(left[left_index++]);
    } else {
       result.push(right[right_index++]);
    }
  }
   return result.concat(left.slice(left_index)).concat(right.slice(right_index));
}
 
function mergeSort(array) {
  if (array.length < 2) {
    return array;
  }
  
  var middle = Math.floor(array.length / 2),
    left = array.slice(0, middle),
    right = array.slice(middle);
  
  return merge(mergeSort(left), mergeSort(right));
}

js数组根据每行字数进行排序,并前面加序号(中文内容)

利用纯js中的冒泡方法做排序

js如何根据时间进行正序/倒序排序(兼容低版本浏览器)

js简单介绍一下如下实现数组内排序

标签: JS冒泡排序, JS合并排序, JS快速排序, js排序方法, JS插入排序, JS选择排序

上面是“js最常见的几种排序方法介绍”的全面内容,想了解更多关于 js 内容,请继续关注web建站教程。

当前网址:https://ipkd.cn/webs_4344.html

声明:本站提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请发送到邮箱:admin@ipkd.cn,我们会在看到邮件的第一时间内为您处理!

当前位置: 网站首页 > js
本文共计1588个字,预计阅读时长11分钟
生活小工具,收录了80多款小工具
上一篇: 推荐一款免费在线图片处理工具——佐糖图片平台
下一篇: 推荐一款优设网免费可商用字体——优设标题黑体
x 打工人ai神器