基本ソート(メモ)

1483 ワード

バブルソート

function maopaoSort(array){
    var length = array.length;
    for( var i = 0 ; i < length - 1 ; i++ ) {
        for( var j = 0 ; j < length - i - 1; j++ ) {
            if ( array[j] > array[j + 1]){
                var temp = a[j+1];
                a[j+1] = a[j];
                a[j] = temp;
            }
        }
    }
    return array;
}


ソートの選択

function xuanzeSort(array){
    var length = array.length;
    for( var i = 0 ; i < length ; i++ ) {
        var maxIndex = 0;
        for( var j = 1 ; j <= length - i - 1; j++ ) {
            if ( array[ j ] > array[ maxIndex ] ) {
                maxIndex = j;
            }
        }
        var temp = array[ j - 1 ];
        array[ j - 1 ] = array[ maxIndex ];
        array[ maxIndex ] = temp;
    }

    return array;
}


クイックソート
 
function fastSort(b,low, high)
{
    if(low >= high)
    {
        return;
    } 
    var first = low;
    var last = high;
    var key = b[first];/* */
 
    while(first < last)
    {
        while(first < last && b[last] >= key)
        {
            --last;
        }
 
        a[first] = a[last];/* */
 
        while(first < last && b[first] <= key)
        {
             ++first;
        }
         
         b[last] = b[first];    
/* */
    }
     b[first] = key;/* */
     fastSort(b, low, first-1);
     fastSort(b, first+1, high);
 }