バブルソートC && C ++

バブルソート(いわゆるバブルソートを泡立てるようなプロセスため)
 
プロセス:
(1)それぞれのデジタルのアレイ、二つの隣接する第一の比較
前部が後部よりも大きい場合(2)2つのデータを交換しました
(3)放電アウターループ行の最後まで継続同じ方法を使用して
若しくは
(1)後続の比較の最初の番号は順次、大型の順序は、次に交換します
(2)外側のループを排出するまで
自然と同じように、二種類を示すために、次の
 
 
書式#include <iostreamの>
書式#include <cstdlib>
書式#include <CTIME>
名前空間stdを使用。
無効BubbleSort1(INT []、int型LEN)
{
    int型T;
    以下のために(INT I 0 =; I <LEN-1; I ++)
    {
        (int型J = LEN-1; j>はI; j--)について
        {
            IF([J] <[J-1])
            {
                T = [J-1]。
                [J-1] = [J]。
                [J] = T。
            }
        }
        COUT << iは+ 1 << "ステップ:" << "でソート結果"。
        用(int型のk = 0; K <LEN; K ++)COUT << [K] <<」「。
        coutの<<てendl;
    }
}
無効BubbleSort2(int型*、int型のLEN)
{
    int型T;
    以下のために(INT I 0 =; I <LEN-1; I ++)
    {
        以下のための(int型J =; J <LENあり、j ++)
        {
            IF([J] <[i])と
            {
                T = [J]。
                [j]は[I]を=。
                [I] = T。
            }
        }
        COUT << iは+ 1 << "ステップ:" << "でソート結果"。
        用(int型のk = 0; K <LEN; K ++)COUT << [K] <<」「。
        coutの<<てendl;
    }
}
メインint型()
{
    INT ARRAY1 [10]、配列2 [10]。
    srand関数(時間(NULL)); //ここで入力乱数、それはシステム時刻を使用していますので、真にランダムな乱数を可能にするために、
    裁判所未満<< "ARRAY1並べ替えの前に:" <<てendl;
    (I ++; I <10、I = 0の整数)のために
    {
        ARRAY1 [I] =ランド()/ 1000。
        coutの<< ARRAY1 [I] <<」「;
    }
    裁判所未満<< "ソートの前に配列2:" <<てendl;
    (I ++; I <10、I = 0の整数)のために
    {
        配列2 [I] =ランド()/ 1000。
        coutの<<配列2 [I] <<」「;
    }
    coutの<<てendl;
    BubbleSort1(array1,10)。
    裁判所未満<< "ARRAY1ソート後:" <<てendl;
    以下のために(INT iが= 0; I <10; I ++)COUT <<配列1 [I] <<」「。
    coutの<<てendl;
    BubbleSort2(array2,10)。
    裁判所未満<< "ソート後の配列2:" <<てendl;
    以下のために(INT iが= 0; I <10; I ++)COUT <<配列2 [I] <<」「。
    coutの<<てendl;
    0を返します。
}

おすすめ

転載: www.cnblogs.com/Arthas8086/p/11947692.html