정렬 삽입Python 과 PHP 의 구현 버 전(추천)

정렬 삽입 Python 구현

import random

a=[random.randint(1,999) for x in range(0,36)]

#         
def insertionSort(a):
  for i in range(1,len(a)):
    #     i        i-1   ,     i         
    if a[i] < a[i-1]:
      tmp = a[i]
      j = i-1
      #   a[i]     ,  a[i-1] a[i]          
      while j >= 0 and tmp < a[j]:
        a[j+1] = a[j]
        j = j-1

      #  a[i]     
      a[j+1] = tmp

insertionSort(a)
print(a)
정렬 PHP 삽입 실현

<?php
//        
$a = [];
for($i=0;$i<36;$i++){
  array_push($a,mt_rand(1,999));
}
shuffle($a);

/**
 *      insertion sort
 * @param [type] $a         
 * @return null
 */
function insertionSort(&$a){
  for($i = 1;$i<count($a);$i++){
    //     i        i-1   ,     i         
    if($a[$i] < $a[$i-1]){
      $tmp = $a[$i];
      //   a[i]     ,  a[i-1] a[i]          
      for($j = $i-1; $j>=0 && $tmp<$a[$j];$j--)
        $a[$j+1] = $a[$j];
      //  a[i]     
      $a[$j+1] = $tmp;
    }
  }

}

insertionSort($a);
var_dump($a);
삽입 정렬 시간 복잡 도 분석
정렬 알고리즘 을 삽입 하 는 시간 복잡 도 는 O(n2)이지 만,삽입 정렬 법 은 거품 과 정렬 을 선택 하 는 것 보다 성능 이 좋 습 니 다.
이상 이 편 삽입 정렬파 이 썬 과 PHP 의 구현 판(추천)은 바로 편집장 님 이 여러분 에 게 공유 하 는 모든 내용 입 니 다.여러분 에 게 참고 가 되 고 많은 응원 부 탁 드 리 겠 습 니 다.

좋은 웹페이지 즐겨찾기