深入理解JS中的排序
在JavaScript开发中,排序是一项基础而重要的操作。本文将探讨JavaScript中几种常见的排序算法,包括它们的原理、实现方式以及适用场景。
1、冒泡排序
1.1、原理
通过比较相邻两个数的大小,交换位置排序:如果后一个数比前一个数小,则交换两个数的位置,重复这个过程,直到所有的数据按照升序排列。
1.2、代码实现
采用两层嵌套循环的方案,外层循环控制比较的轮数,内层循环用于比较相邻数据和交换位置
let Arr = [2, 5, 3, 7, 9, 1, 0, 6, 23, 12]/*** 冒泡排序:* 时间复杂度O(n^2)* 原理:比较相邻的元素,如果第一个比第二个大,就交换它们两个* 注意:冒泡排序是原地排序算法,会改变原数组中元素顺序* @param {*} arr * @returns */
const bubbleSort = (arr) => {let len = arr.length;if (len <= 1) return arr;for (let i = 0; i < len; i++) {// 提前退出冒泡循环的标志位let swappend = false;for (let j = 0; j < len - i - 1; j++) {if (arr[j] > arr[j + 1]) {const temp = arr[j];arr[j] = arr[j + 1];arr[j + 1] = temp