ホームページ >バックエンド開発 >PHPチュートリアル >PHPのデータ構造(4) 直接挿入ソート

PHPのデータ構造(4) 直接挿入ソート

WBOY
WBOYオリジナル
2016-08-08 09:32:34959ブラウズ

直接挿入ソートは、ソート済みの配列にソート対象の要素をサイズ順に挿入することです。N 個の要素を持つ順序付けされていない配列を想定すると、ソートを完了するために N-1 回の挿入が実行されます。

たとえば、次のように、5 つの要素を持つ順序なし配列が挿入され、4 回ソートされます: $array(15,7,43,22,18)

初回::$ array( 15) ソート後、要素 7 を配列に挿入します: $array(7,15)

2 回目: $array(7,15) ソート後、要素 43 を配列に挿入します: $array(7 ,15) ,43)

3 回目: $array(7,15,43) ソート後、要素 22 を配列に挿入します: $array(7,15,22,43)

4 回目: $array(7,15,22,41) 要素 18 を配列に挿入し、並べ替えた後: $array(7,.15,18,22,43) 、並べ替えを完了します。

コードは次のように実装されます:

<pre name="code" class="php"><span style="font-size:18px;"><?php
	function insert_sort($array){

		$count=count($array);
		for($i=1;$i<$count;$i++){
			if($array[$i-1]>$array[$i]){
				$temp=$array[$i];
				$j=$i;
				while($j>0 && $array[$j-1]>$temp){
					$array[$j]=$array[$j-1];
					$j--;
				}
				$array[$j]=$temp;
			}

		}
		return $array;
	}


	$arr=array(4,1,17,9,88,37,43);
	$res=insert_sort($arr);
	foreach($res as $key => $values){
		echo "key:".($key+1)." value:".$values."<br/>";
	}
?>


                
                
                

以上、PHPのデータ構造(4)直接挿入ソートについて内容も含めて紹介しましたが、PHPチュートリアルに興味のある方の参考になれば幸いです。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。