8種經典演算法之氣泡排序
阿新 • • 發佈:2019-01-04
氣泡排序(Bubble Sort),是一種電腦科學領域的較簡單的排序演算法。它重複地走訪過要排序的數列,一次比較兩個元素,如果他們的順序錯誤就把他們交換過來。走訪數列的工作是重複地進行直到沒有再需要交換,也就是說該數列已經排序完成。這個演算法的名字由來是因為越大的元素會經由交換慢慢“浮”到數列的頂端,故名。氣泡排序與選擇排序的區別區別在於:冒泡演算法,每次比較如果發現較小的元素在後面,就交換兩個相鄰的元素。而選擇排序演算法的改進在於:先並不急於調換位置,先從A[1]開始逐個檢查,看哪個數最小就記下該數所在的位置P,等一躺掃描完畢,再把A[P]和A[1]對調,這時A[1]到A[10]中最小的資料就換到了最前面的位置。
所以,選擇排序每掃描一遍陣列,只需要一次真正的交換,而冒泡可能需要很多次。比較的次數是一樣的。
所以,選擇排序每掃描一遍陣列,只需要一次真正的交換,而冒泡可能需要很多次。比較的次數是一樣的。
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title></title> </head> <body> <script> //從小到大排序 var nums=[1,2,33,1,34,99,54,23,54,32,21,456,7765,23]; var tmp; for(vari=0;i<nums.length;i++){ for(var j=i+1;j<nums.length;j++){ if(nums[i]>nums[j]){ tmp=nums[i]; nums[i]=nums[j]; nums[j]=tmp; } } } for(var i=0;i<nums.length;i++){ document.write(nums[i]+"<br>"); } </script> </body> </html>
答案為: