1.逐个比较
将每个元素依次与之后的数进行比较,不符合就换位置
var arr = [12,32,56,4,89,42,3,9];
var num;
function sortArr (arr) {
for(var i = 0; i < arr.length; i++){
for(var j =0; j < arr.length; j++){
if(arr[i]>arr[j]){
num=arr[i];
arr[i]=arr[j];
arr[j]=num;
}
}
}
return arr
}
var arr1 = sortArr(arr);
console.log(arr1);
2.冒泡排序(从小到大)
冒泡排序:相邻的二个元素进行比较,若位置不相符,则调换二者的位置。将最大的数放到最后一位上,每次调整一个数的位置,需要循环arr.length-1次(i为0),调整过后的位置不需要在调整,因此也不需要再比较,则每次循环需要比较的次数为(arr.length-1-i)次。
var arr = [12,32,56,4,89,42,3,9];
function sortArr (arr) {
for(var i = 0; i < arr.length - 1; i++){
for(var j = 0; j < arr.length-i-1; j++){
if(arr[j]>arr[j+1]){
var num=arr[j+1];
arr[j+1]=arr[j];
arr[j]=num;
}
}
}
return arr
}
var arr1 = sortArr(arr);
console.log(arr1);
3.sort排序
array.sort([function])没有参数会按照字母顺序对数组中的元素进行排序,有参数就会按照给的参数的方法进行排序,a,b。若a在b前,则(a-b)为false;若a在b后,则(a-b)为true;
var arr = [12,23,5,2,45,22,36,1];
function sortArr(arr){
arr.sort(function (a,b) {
return a-b
});
return arr;
}
var arr1 = sortArr(arr);
document.write(arr1);









网友评论