Rumah > php教程 > php手册 > teks badan

插入排序

WBOY
Lepaskan: 2016-06-06 19:37:52
asal
814 orang telah melayarinya

无详细内容 无 ?php/** * 插入排序 * @param Array $a 无序集合 * @return Array 有序集合 */function insertSort($a) {$temp;$i;$j;$size_a = count($a);# 从第二个元素开始for ($i = 1; $i $size_a; $i++) {if ($a[$i] $a[$i-1]) {$j = $i; # 保存当前元素

<?php
/**
 * 插入排序
 * @param Array $a 无序集合
 * @return Array 有序集合
 */
function insertSort($a) {
	$temp;
	$i;
	$j;
	$size_a = count($a);
	# 从第二个元素开始
	for ($i = 1; $i < $size_a; $i++) {			
		if ($a[$i] < $a[$i-1]) {			
			$j = $i; # 保存当前元素的位置
			$temp = $a[$i];	 # 当前元素的值	

			# 比较左边的元素,如果找到比自己更小的,向右移动元素,否则插入元素到当前位置
			while($j>0 && $temp<$a[$j-1]) {
			 	$a[$j] = $a[$j-1];
			 	$j--;
			}
			
			# 插入元素
			$a[$j] = $temp;
		}
	}
	return $a;
}
/**
 * 获取随机数
 * @param Integer $size 数量
 * @return Integer
 */
function randomNumber($size = 10) {
	$rand = array();
	srand(time(NULL));
	for ($i = 0; $i < $size; $i++) {
		array_push($rand, mt_rand(0,1000));		
	}
	return $rand;
}

$a = randomNumber();
echo sprintf("Unsorted list %s\n", implode(" ", $a));
echo sprintf("Sorted list %s\n", implode(" ", insertSort($a)));
Salin selepas log masuk
Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Cadangan popular
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan