Maison > développement back-end > tutoriel php > PHP数据结构(4) 直接插入排序

PHP数据结构(4) 直接插入排序

WBOY
Libérer: 2016-08-08 09:32:34
original
950 Les gens l'ont consulté

直接插入排序就是将一个待排序的元素按照大小顺序插入到一个已经排序好的数组中,假设一个有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)

第三次:$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>";
	}
?></span>
Copier après la connexion

Copier après la connexion

以上就介绍了PHP数据结构(4) 直接插入排序,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal