廢話不多說悼院,先上代碼
```
<!DOCTYPE?html>
<html?lang="en">
<head>
????<meta?charset="UTF-8">
????<meta?name="viewport"?content="width=device-width,?initial-scale=1.0">
????<title>Document</title>
</head>
<body>
????<span>這是原始值</span></span><div?id="original"></div>
????<span>這是冒泡值</span><div?id="div"></div>
????<script>
????????let?arr?=?[99,12,32,34,14,88,66,555]
????????document.getElementById("original").innerText?=?arr
????????//?console.log(arr)?
????????//?length:?8
????????let?out=0;//輪數(shù)
????????let?inside=0;//一共次數(shù)
????????//?out:7?inside:49
????????//?冒泡排序優(yōu)化?(1)?://每輪比較少比較一次仪吧。(每一輪都會比較出一個最大值死遭,然后后一輪沒有必要再比較了,所以每比較一輪欣孤,就少比較一次删掀。。导街。)?j<a.length-1-i?披泪。?優(yōu)化后:out:7?,?Inside:21
????????//?冒泡排序優(yōu)化?(2)?:?//?//bool這個變量默認值為true;如果本輪比較有一對元素相互交換位置,那么也不能跳出循環(huán)搬瑰。
????????//但是款票,如果本輪比較沒有任何元素相互交換位置,那么說明已經(jīng)比較完成泽论,可以跳出循環(huán)艾少。之前I循環(huán)排序已經(jīng)完成,但是j循環(huán)還沒有結(jié)束翼悴,優(yōu)化后?out:3,inSide:18
????????function?bubbling?(arr){
????????????//?i循環(huán)是有多少個數(shù)組就執(zhí)行多少次j循環(huán)
????????????for(let?i?=?1;?i?<?arr.length??;?i++){?//?為什么從1開始不是0缚够?因為第一個數(shù)字不用
????????????????let?bloo?=?true
????????????????console.log("執(zhí)行I循環(huán)",arr)
????????????????//?j?循環(huán)是一輪,然后依次對比鹦赎,把大的放后面,1輪只能把一個最大的排到最后面谍椅。
????????????????for(let?j?=?0;?j?<?arr.length?-1?-?i?;?j++){
????????????????????//?只有當(dāng)前面一個數(shù)組大于后面一個才執(zhí)行
????????????????????if(arr[j]?>?arr[j+1]){
????????????????????????let?map?=?0;
????????????????????????map?=?arr[j]?//?容器暫存
????????????????????????arr[j]?=?arr[j+1]?//?調(diào)換位置
????????????????????????arr[j+1]?=?map
????????????????????????bloo?=?false
????????????????????????console.log("執(zhí)行J",arr)
????????????????????}
????????????????????inside++
????????????????}
????????????????if(bloo){
????????????????????break
????????????????}
????????????????out++
????????????}
????????????return?arr
????????}
????????bubbling(arr)
????????document.getElementById("div").innerText?=?arr
????????console.log(arr)
????????console.log(out,"out")
????????console.log(inside,"inside")
????</script>
</body>
</html>
```