// sort() 数组对象排序 其原理是冒泡排序,即比较相邻的元素,如果第一个比第二个大,就交换他们两个。
var arr = [
{name:"小恭",age:11},
{name:"小发",age:3},
{name:"小喜",age:12},
{name:"小财",age:40}
];
console.log(arr);
console.log(arr[0]);
var compare = function(obj1,obj2){
var val1 = obj1.age;
var val2 = obj2.age;
if(val1 < val2){
return 1;
}else if(val1 > val2){
return -1;
}else{
return 0;
}
}
console.log("数组对象排序:");
var sortArr = arr.sort(compare);
console.log(sortArr);
console.log(sortArr[0]);
//插入排序,每次处理就是将无序数列的第一个元素与有序数列的元素从后往前逐个进行比较,找出插入位置,将该元素插入到有序数列的合适位置中
var canArr = [0,4,2,6,7,8,2,14,57,8,99,0,45,32,12,1,1,1,1,45,0,9,8,7,6,5,4,3,2,115,67,68,56,55,43,21];
console.log(canArr);
var quchArr = canArr.distinct();
console.log(quchArr);
//插入排序
function insert(arr){
var s;
//升序
for (var i = 1; i < arr.length; i++) {
for (var j = i; j > 0; j--) {
if (arr[j] < arr[j - 1]) {
s=arr[j];
arr[j]=arr[j-1];
arr[j-1]=s ;
//console.log(arr);//可以打印出来每一个改变的步骤
}
}
}
//降序
for (var i = 1; i < arr.length; i++) {
for (var j = i; j > 0; j--) {
if (arr[j] < arr[j - 1]) {
s=arr[j];
arr[j]=arr[j-1];
arr[j-1]=s ;
//console.log(arr);//可以打印出来每一个改变的步骤
} }
}
return arr;
}
console.log("插入排序:");
console.log(insert(quchArr));
//冒泡排序 即比较相邻的元素,如果第一个比第二个大,就交换他们两个。
function bubble(arr) {
var s ;
// for (var i =0;i arr[j + 1]){
// s = arr[j];
// arr[j]=arr[j+1];
// arr[j+1]=s;
// }
// }
// }
for (var i =0;i