冒泡排序
冒泡排序是一种简单的排序算法,其基本思想是通过相邻元素的比较和交换来将较大(或较小)的元素逐渐“冒泡”到数组的一端,从而实现排序。
遍历数组:从数组的第一个元素开始,依次比较相邻的两个元素。
比较相邻元素:如果当前元素大于(或小于)下一个元素,则交换它们的位置。这样可以让较大(或较小)的元素“冒泡”到后面的位置。
继续遍历:重复执行上述步骤,每次遍历都会将一个最大(或最小)的元素放置在最后的位置。
缩小范围:每一轮遍历都会确定一个最大(或最小)的元素,所以下一轮遍历时,可以缩小遍历的范围。因为最后一个元素已经是当前轮次的最大(或最小)的元素,所以它可以被排除在外。
重复操作:重复执行上述步骤,直到数组中的所有元素都按照顺序排列。
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> </head> <body> <script> /* 冒泡排序:(相邻)的两个数,进行比较,符合条件,交换位置 9 6 6 4 2 6 9 4 2 4 15 4 2 6 4 2 9 2 15 */ //封装一个冒泡排序的函数 function fnBubbleSortFromSmallToBig(arr){ //比较轮数 for(var j = 1;j < arr.length;j ++){ //遍历数组,取出元素 for(var i = 0;i < arr.length - j;i ++){ //进行比较 if(arr[i] > arr[i + 1]){ //交换位置 var t = arr[i]; arr[i] = arr[i + 1]; arr[i + 1] = t; } } } return arr; } //声明一个数组 var arr = [9,6,15,4,2]; // fnBubbleSortFromSmallToBig(arr); fnBubbleSortFromBigToSmall(arr) console.log(arr); </script> </body> </html>