対応する要素があった場合、一致する要素のフロントを見つけるためにクイックソート

$ ARR = [1,2,3,3,4,5,6]。
	関数binSearch($ ARR、$ NUM、$開始、$端){ 
		IF($開始> $端){ 
			リターン-1。
		} 

		$ミッド=フロア(($ / 2)+ $端を開始します)。
		$ midValue = $ arrが[$中旬]。
		IF($ NUM <$ midValue){ 
			$ミッド= $ミッド1。
			リターンbinSearch($ ARRは、$ numが、$、$中旬開始します)。
		} ELSEIF($ NUM> $ midValue){ 
			$ミッド= $ミッド+ 1。
			binSearch($ arrが、$ NUM、$半ば、$ end)を返します。
		}他{ 
			IF($中間== 0 || $ NUM = $ ARR [$半ば1]!){ 
				戻り$ミッド。
			}他{ 
				リターンbinSearch($ ARR、$ NUM、$、$半ば1を起動します)。
			} 
		} 
	} 
	$スタート= 0; 
	$終了=カウント($ ARR)-1;
	$インデックス= binSearch($ ARR、3、$開始、$エンド); 
	$インデックスをエコー。

  

おすすめ

転載: www.cnblogs.com/zh718594493/p/12089231.html