書式#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- 1、0、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)。 } }
2の順序付けられたシーケンスの中央値(バイナリ)
おすすめ
転載: www.cnblogs.com/MTstory/p/11574948.html
おすすめ
ランキング