JS快速排序之冒泡排序

 
 
<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>快速排序</title>
</head>
<body>
	<script>
		var arr = [5,23,6,8,64,25,45,68,36];
		function sorts(arr) {
			var len = arr.length
			for(var i = 0; i < len; i++){
               for(var j = 0; j< len - 1 - i; j++){
                  if(arr[j]>arr[j+1]){
			           var big = arr[j];
			           arr[j] = arr[j+1];
			           arr[j+1] = big;
			      }
               }
			}
			return arr;
		}
		sorts(arr);
        console.log(arr);
	</script>
</body>
</html>


以上是冒泡排序的写法。

1.第一次循环时i = 0;在第二个循环j里会循环到arr的长度减1次,能将数组中最大的数字放在最后;
2.第二次循环时i = 1;在第二个循环j里会循环到arr的长度减二次,是因为最后一位已经是最大的了,就没必要再去遍历了;同时会将第二大的数字放在倒数第二位;
3.同第2步骤,依次可将数组排列出来。

猜你喜欢

转载自blog.csdn.net/mo_jiu/article/details/80567844