加强版 冒泡排序 一个数组跟随另一个数组(长度相同的)排序

//comparator 比较器规则 第二个大于第一个 返回1 : < 1, = 0, > -1
//实现接口 比较定制化对象
function objArrComparator(sortA,sortB){
if(Number(sortA.value) > Number(sortB.value)){
return -1;
}else if(sortA.value == sortB.value){
return 0;
}else{
return 1
}
}
//实现接口 比较数组
function numArrComparator(sortA,sortB){
if(sortA > sortB){
return -1;
}else if(sortA == sortB){
return 0;
}else{
return 1
}
}

function sortBubbleArrDependsAnotherOne(sortArr,dependArr){
if(!sortArr||sortArr.length==0)
return;
for(var i = 0; i<sortArr.length-1; i++){
var flag = false;
for(var j = 0; j<sortArr.length-i-1){
if(sortArr[j]>sortArr[j+1]){
var temp1 = sortArr[j+1];
var temp2 = dependArr[j+1];
sortArr[j+1] = sortArr[j];
dependArr[j+1] = dependArr[j];
sortArr[j] = temp1;
dependArr[j] = temp2;
flag = true;
}
}
if(!flag)
break;
}
}

function sortBubbleObjArrDependsAnotherOne(sortArr,comparator){
if(!sortArr||sortArr.length==0)
return;

for(var i = 0; i<sortArr.length-1; i++){
var flag = false;
for(var j = 0; j<sortArr.length-i-1){
if(comparator(sortArr[j],sortArr[j+1])==1){
var temp1 = sortArr[j+1];
sortArr[j+1] = sortArr[j];
sortArr[j] = temp1;
flag = true;
}
}
if(!flag)
break;
}
}

posted on 2017-02-08 10:19  路过的二师兄  阅读(214)  评论(0编辑  收藏  举报