<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>JavaScript 数组排序三种定义</title>
</head>
<body>
<script>
var arr = [5,1,3,51,55,2,12,5,1,3,5];
//first method
var fnSort = function(arr){
var arrN = arr.sort();
//arrN.reverse()
return arrN;
}
alert(fnSort(arr));
//second method
var normalSort = function(arr){
for(var len = arr.length, i = len-1; i >= 0; i--){
for(var j = len; j >= i; j--){
if(arr[i] > arr[j]){
var a = arr[i];
arr[i] = arr[j];
arr[j] = a;
}
}
}
return arr;
}
alert(normalSort(arr));
//third method
var quickSort = function(arr) {
if (arr.length <= 1) { return arr; }
var pivotIndex = Math.floor(arr.length / 2);
var pivot = arr.splice(pivotIndex, 1)[0];
var left = [];
var right = [];
for (var i = 0; i < arr.length; i++){
if (arr[i] < pivot) {
left.push(arr[i]);
} else {
right.push(arr[i]);
}
}
return quickSort(left).concat([pivot], quickSort(right));
};
alert(quickSort(arr));
//forth method
var normalSort01 = function(arr){
for(var len = arr.length, i = 0; i <= len; i++){
for(var j = len; j <= i; j++){
if(arr[i] > arr[j]){
var a = arr[i];
arr[i] = arr[j];
arr[j] = a;
}
}
}
return arr;
}
alert(normalSort01(arr));
</script>
</body>
</html>
loading