> 백엔드 개발 > PHP 튜토리얼 > PHP 抉择排序 算法 经典面试题

PHP 抉择排序 算法 经典面试题

WBOY
풀어 주다: 2016-06-13 12:49:30
원래의
971명이 탐색했습니다.

PHP 选择排序 算法 经典面试题

<?php
$unsorted = array();

for ($i = 0; $i < 10; $i++) {
	$unsorted[] = rand(0,1000);
}

print "Unsorted Array. <br />";
print implode(',', $unsorted);

print "<br />";

print "Sorted Array. <br />";
$sort = select_sort($unsorted);
print implode(',',$sort);

/**
	selection sort
	1. 找到数组最小的数
	2. 与第一个数交换
	3. 重复余下的元素
*/
function select_sort ($arr = array()) {
	$min = false;
	$n = count($arr);
	
	for ($i = 0; $i < $n; $i++) {
		$min = $i;
		for ($j = $i + 1; $j < $n; $j++) {
			if ($arr[$j] < $arr[$min]) {
				$min = $j;
			}									
		}
		// $tmp = $arr[$min];  
		// $arr[$min] = $arr[$i];  
		// $arr[$i] = $tmp; 
		list($arr[$min],$arr[$i]) = array($arr[$i],$arr[$min]);
	}

	return $arr;
	
}
로그인 후 복사

?

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿