<!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步骤,依次可将数组排列出来。