冒泡排序
一、冒泡排序算法基本思想
将第一个元素和第二个元素进行比较,若为逆序则将两个元素交换,然后比较第二个元素和第三个元素。依次类推,直至第 n-1个元素和第 n个元素进行比较为止。上述过程称为第一趟冒泡排序,其结果使最大值元素被放置在最后一个位置(第 n个位置)。然后进行第二趟冒泡排序,对前 n-1个元素进行同样操作,其结果是使第二大元素被放置在倒数第二个位置上(第 n-1个位置)。
var arr=[5,76,-8,23,-15,88,47];
for(var i=0;i<arr.length;i++){
//第一个for循环,走几遍,减1因为最后一个元素没有必要再比较了
for(var j=0;j<arr.length-i-1;j++){
//第二个for循环,减i每一次把最大值放在数组末尾,所以没必要再比较
//减1防止越界
if(arr[j]>arr[j+1]){
var temp = arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}
}
代码:
<!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>
</body>
<script>
var arr = [5, 76, -8, 23, -15, 88, 47];
for (var i = 0; i < arr.length; i++) {
for (var j = 0; j < arr.length - i - 1; j++) {
if (arr[j] > arr[j + 1]) {
var temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
console.log(arr);
</script>
</html>
运行结果:
版权声明:本文为weixin_52993364原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。