美文网首页IOS
数组排序

数组排序

作者: 痛心凉 | 来源:发表于2017-09-12 21:59 被阅读0次

    顺序上分为两种:从小到大的排序;从大到小的排序;

    方法上分为四种:冒泡排序、快速排序、选择排序、插入排序

    (1)冒泡法是运用遍历数组进行比较,通过不断的比较将最小值或者最大值一个一个的遍历出来;

    案例:

    ```

    var array = [0,1,2,44,4,324,5,65,6,6,34,4,5,6,2,43,5,6,62,43,5,1,4,51,56,76,7,7,2,1,45,4,6,7];

    for(var i=0;i<array.length;i++){

    for(var j=i+1;j<array.length;j++){

    if(array[i]>array[j]){

    a=array[j];

    array[j]=array[i];

    array[i]=a

    }

    }

    }

    consloe.log(array)

    ```

    控制台的输出效果:

    [0, 1, 1, 1, 2, 2, 2, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, 6, 6, 7, 7, 7, 34, 43, 43, 44, 45, 51, 56, 62, 65, 76, 324]

    (2)快速排序法主要是运用了Arrays中的一个方法Arrays.sort()实现。

    ```

    var array = [0,1,2,44,4,324,5,65,6,6,34,4,5,6,2,43,5,6,62,43,5,1,4,51,56,76,7,7,2,1,45,4,6,7];

    arrat.sort(aSort);

    function  aSort(a,b){

    return a-b;

    }

    consloe.log(array)

    控制台的输出效果:

    [0, 1, 1, 1, 2, 2, 2, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, 6, 6, 7, 7, 7, 34, 43, 43, 44, 45, 51, 56, 62, 65, 76, 324]

    ```

    (3)插入排序是选择一个数组中的数据,通过不断的插入比较最后进行排序

    ```

    for(var i = 1, j, key; i <  array.length; i++){

    j = i;

    key = array[j];

    while(--j > -1){

    if(array[j] > key){

    array[j+1] = array[j];

    }else{

    break;

    }

    }

    array[j+1] = key;

    }

    console.log(array)

    ```

    控制台的输出效果:

    [0, 1, 1, 1, 2, 2, 2, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, 6, 6, 7, 7, 7, 34, 43, 43, 44, 45, 51, 56, 62, 65, 76, 324]

    (4)选择排序法是将数组的第一个数据作为最大或者最小的值,然后通过

    比较循环,输出有序数组

    ```

    var array = [0,1,2,44,4,324,5,65,6,6,34,4,5,6,2,43,5,6,62,43,5,1,4,51,56,76,7,7,2,1,45,4,6,7]; 

    for(var i=0; i<array.length;i++){

    var min=i;

    for(var j=i+1;j<array.length;j++){

    if( array[min]>array[j] ){

    min=j;

    }

    }

    if(min!=i){

    var temp=array[i];

    array[i]=array[min];

    array[min]=temp;

    }

    }

    console.log(array)

    ```

    控制台的输出效果:

    [0, 1, 1, 1, 2, 2, 2, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, 6, 6, 7, 7, 7, 34, 43, 43, 44, 45, 51, 56, 62, 65, 76, 324]

    相关文章

      网友评论

        本文标题:数组排序

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