1. 程式人生 > >js實現氣泡排序

js實現氣泡排序

一:冒牌排序

1思想:每一次對比相鄰兩個資料的大小,小的排在前面,如果前面的資料比後面的大就交換這兩個數的位置
   要實現上述規則需要用到兩層for迴圈,外層從第一個數到倒數第二個數,內層從外層的後面一個數到最後一個數

2特點:排序演算法的基礎。簡單實用易於理解,缺點是比較次數多,效率較低。

3實現:

<!DOCTYPE html>
<html>
<head>
	<title>JS氣泡排序完整程式碼</title>
</head>
<body>
<script type="text/javascript">

	var arr = new Array(3,7,2,4,99,54,78,33,88);

	function testOrder(arr){
		var len = arr.length;
		for (var i = 0; i <len-1; i++) {
			for (var j = i+1; j <len; j++) {
				if(arr[i]>arr[j]){//如果前面的資料比後面的資料大就交換
					var temp = arr[i];
					arr[i] = arr[j];
					arr[j] = temp;
				}
			}
			console.log("第"+i+"次排序後:"+arr);
		}
		return arr;
	}


	document.write("排序前:"+arr);
	document.write("<br>");
	document.write("排序後:"+testOrder(arr));


</script>
</body>
</html>