美文网首页
JS排序算法

JS排序算法

作者: 上善若水_900e | 来源:发表于2017-09-11 23:12 被阅读0次

    冒泡排序:

    vararray = [{"name":"aa",index:100},{"name":"aa",index:200},{"name":"aa",index:300}];

    varlen = array.length;

    for(vari =0; i < len -1; i++) {//-1 是为了j+1不会发生数组越界,且不会和自己比较

    for(varj =0; j < len - i -1;j++) {

    if(array[j] < array[j+1]) {

    vartemp = a[j];

    a[j] = a[j+1];

    a[j+1] = temp;//交换位置

    }

    }

    }

    快速排序:

    vararr = [{"name":"aa",index:200},{"name":"aa",index:100},{"name":"aa",index:300}];

    functionqSort(arr,i,j){

    if(i>=j)return;

    vartempi=i,tempj=j;

    varkey=arr[i];

    while(i<j){

    while(i<j&&arr[j].index>key.index) j--;//从右向左找第1个小于key的数

    if(i<j) arr[i++]=arr[j];

    while(i<j&&arr[i].index<key.index) i++;//从左向右找第1个大于key的数

    if(i<j) arr[j--]=arr[i];

    }

    arr[i]=key;

    qSort(arr,tempi,i-1);

    qSort(arr,i+1,tempj);

    }

    qSort(arr,0,2)

    选择排序:

    varmin,len = arr.length;

    for(vari =0; i < len -1; i++) {

    min = i;

    for(varj = i +1; j < len ; j++) {

    if(arr[j].index < arr[min].index) {

    min = j;

    }

    }

    vartemp = arr[min];

    arr[min] = arr[i];

    arr[i] = temp;

    }

    相关文章

      网友评论

          本文标题:JS排序算法

          本文链接:https://www.haomeiwen.com/subject/mwdqsxtx.html