직접 삽입 정렬은 이미 정렬된 배열에 정렬할 요소를 크기 순서대로 삽입하는 것입니다. N개의 요소가 정렬되지 않은 배열이라고 가정하면 N-1개의 삽입이 수행됩니다.
예를 들어, 5개 요소가 있는 순서가 지정되지 않은 배열은 다음과 같이 삽입되고 4번 정렬됩니다: $array(15,7,43,22,18)
처음: $array(15) 정렬 후 배열에 요소 7을 삽입합니다. $array(7,15)
두 번째: $array(7,15) 정렬 후 배열에 요소 43을 삽입합니다. $array(7,15,43)
세 번째 time: $array(7,15,43) 정렬 후 요소 22를 배열에 삽입합니다. $array(7,15,22,43)
네 번째: $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 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.