JavaScript实现各种排序的代码详解
冒泡排序(Bubble Sort)
冒泡排序是一种简单的排序算法。它重复地遍历要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。这个算法的名字由来是因为越小的元素会经过交换慢慢“浮”到数列的顶端。看下面的代码实现:
```javascript
function bubbleSort(arr) {
let temp;
for (let i = 0; i < arr.length - 1; i++) {
for (let j = i + 1; j < arr.length; j++) {
if (arr[i] > arr[j]) {
temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
return arr;
}
console.log(bubbleSort([2, 5, 1, 0, 6, 2])); // 输出:[0, 1, 2, 2, 5, 6]
```
选择排序(Selection Sort)
选择排序是一种简单直观的排序算法。它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。以下是选择排序的JavaScript实现:
```javascript
function selectionSort(arr) {
let min;
for (let i = 0; i < arr.length - 1; i++) {
min = i;
//依次找到最小值的索引
for (let j = i + 1; j < arr.length; j++) {
if (arr[min] > arr[j]) {
min = j;
}
}
//如果最小值不在当前位置上,就交换到位置i
if (min !== i) {
swap(arr, min, i);
}
}
return arr;
}
function swap(arr, index1, index2) {
let temp = arr[index1];
arr[index1] = arr[index2];
arr[index2] = temp;
}
```
function insertionSort(arr){ var j,key; for(var i=1;i
编程语言
- JavaScript实现各种排序的代码详解
- mysql 5.7.14 安装配置方法图文教程
- 修改fckeditor的文件上传功能步骤
- jquery.validate提示错误信息位置方法
- 微信小程序js文件改变参数并在视图上及时更新【
- git克隆远程仓库的指定分支方法(附常用git配置命
- php封装好的人民币数值转中文大写类
- vue2里面ref的具体使用方法
- 实例介绍PHP删除数组中的重复元素
- 微信小程序tabBar 返回tabBar不刷新页面
- AngularJS路由实现页面跳转实例
- JetBrains 学生认证教程(Pycharm,IDEA… 等学生认证教
- 浅谈react.js中实现tab吸顶效果的问题
- 详谈JavaScript的闭包及应用
- vue+iview 实现可编辑表格的示例代码
- Vue.js每天必学之构造器与生命周期