2の順序付けられたシーケンスの中央値(バイナリ)

書式#include <iostreamの>
 使用して 名前空間はstdを、
INT [ 100000 ]、B [ 100000 ]。
int型の検索(int型int型int型int型);
INT のmain()
{ 
    int型N、I。
    一方、(CIN >> N)
    { 
        (i = 0 ; iがn <; iは++ 
            CIN >> [I]。
        (i = 0 ; iがn <; iは++ 
            CIN >> B [i]は、
        coutの <<検索(0、N- 10、N- 1)<< ' の\ n ' ; 
    } 
    戻り 0 
} 
int型の検索(int型 L、int型の R、int型のx、int型のY)
{ 
    int型、M =(L + R)>> 1、Z =(X + Y + 1)>> 1 もし(!L == R && X = Y)
         であれば([L]> B [Y])戻りB [Y]。
        他に 返す[L]を、
    もし(L!= R &&のx == y)の
         場合([R] <B [X])を返す[R]を。
        他の リターンB [X];
    もし(L == R &&のx == y)の
         場合([L]> B [X])戻りB [X]。
        他に 返す[L]を、
    
    { 
        場合(1- == R- 1 && X == Y- 1 
        { 
            M =(L + R)>> 1 
            Z =(X + Y)>> 1 
        } 
        場合([M] == Bは[Z])を返す[m]を。
        他の 場合([M]> B [Z])リターン検索(L、M、Z、Y)。
         戻り検索(M、R、X、Z)。
    } 
}

おすすめ

転載: www.cnblogs.com/MTstory/p/11574948.html