ボイド* bsearchは(CONSTボイド*キー、CONSTボイド*ベース、size_tのNUM、size_tのサイズ、 INT(* CMP)(CONSTボイド*キー、CONSTボイド* ELT)) { size_tの開始= 0、終了= NUM。 int型の結果。 (<終了を開始)しながら{ size_tのミッド= +(終了-開始)開始/ 2。 結果= CMP(キー、基地+ミッド*サイズ)。 (結果<0)であれば 端=ミッド。 それ以外の場合(結果> 0) を開始=ミッド+ 1; 他の リターン(void *型)ベース+ミッド*サイズ; } NULLを返します。 }