二つの配列をマージソート

する#include <stdio.hに>
する#include <STDLIB.H>
ボイドマージ(INT []、INT M、int型B []、INT nは、INT C [])。
INTメイン()
{
    INT [5]、B [8]、C [20]。
    私は0を= int型。
    一方、(I <5)
    のscanf( "%dの"、および[I ++])。
    I = 0;
    一方、(I <8)
    のscanf( "%d個"、&B [I ++])。
    マージ(5、B、8、C)。
    printf( "123456 \ N");
    システム( "休止> NUL")。
    0を返します。
}

//ボイドマージ([]、INT M、INT B []、INT nは、INT C [] INT)
ボイドマージ(INT *、INT M、INT * B、整数nは、INT * C)を
{
    INT私は0、J = = 0;
    INT K = 0。
    一方、(I <M && J <N)
    {
        IF([I] <
            B [J]) C [K ++] = [I ++]。
        そうしないと
            C [K ++] = B [J ++]。
    }
    一方、(I <M)
    C [K ++] = [I ++]。
    (J <N)、一方
    、C [K ++] = B [J ++]
    J = 0;
    一方、(J <K)
    {
        のprintf( "%dの"、C [J ++])。
    }
}

おすすめ

転載: www.cnblogs.com/lxzbky/p/12467650.html