冒泡排序算法基本思路
冒泡排序
一、冒泡排序算法基本思想
將第一個(gè)元素和第二個(gè)元素進(jìn)行比較,若為逆序則將兩個(gè)元素交換,然后比較第二個(gè)元素和第三個(gè)元素。依次類推,直至第 n-1個(gè)元素和第 n個(gè)元素進(jìn)行比較為止。上述過(guò)程稱為第一趟冒泡排序,其結(jié)果使最大值元素被放置在最后一個(gè)位置(第 n個(gè)位置)。然后進(jìn)行第二趟冒泡排序,對(duì)前 n-1個(gè)元素進(jìn)行同樣操作,其結(jié)果是使第二大元素被放置在倒數(shù)第二個(gè)位置上(第 n-1個(gè)位置)。
var arr=[5,76,-8,23,-15,88,47];
for(var i=0;i<arr.length;i++){
//第一個(gè)for循環(huán),走幾遍,減1因?yàn)樽詈笠粋€(gè)元素沒(méi)有必要再比較了
for(var j=0;j<arr.length-i-1;j++){
//第二個(gè)for循環(huán),減i每一次把最大值放在數(shù)組末尾,所以沒(mé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>運(yùn)行結(jié)果:
總結(jié)
以上是生活随笔為你收集整理的冒泡排序算法基本思路的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: assert在c语言中有什么作用,C语言
- 下一篇: Mask R-CNN全文翻译