PHP实现常见排序算法

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

插入排序(Insertion Sort):每次将一个待排序的记录,按其关键字大小插入到前面已经排序好的子文件中的适当位置,直到全部记录插入完成为止。

//插入排序(一维数组)
function insert_sort($arr)
{
	$count = count($arr);
	for($i=1; $i $tmp)
		{
			$arr[$i] = $arr[$j];
			$arr[$j] = $tmp;
			$j--;
		}
	}
	return $arr;
}
Copier après la connexion

选择排序(Selection Sort):每次从待排序的记录中选出关键字最小的记录,顺序放在已排好序的子文件的最后,直到全部记录排序完毕。

//选择排序(一维数组)
function selection_sort($arr)
{
	$count = count($arr);
	for($i=0; $i $arr[$j])
			{
				$k = $j;
			}

			if($k != $i)
			{
				$tmp = $arr[$i];
				$arr[$i] = $arr[$k];
				$arr[$k] = $tmp;
			}
		}
	}
	return $arr;
}
Copier après la connexion

冒泡排序(Bubble Sort):两两比较待排序记录的关键字,发现两个记录的次序相反时即进行交换,直到没有反序记录位置。

//冒泡排序(一维数组)
//实际效果是:每次循环将数组中最小的值放置到数组的最前段,然后,下一次循环不再循环已放置正确数组值的键,以此类推
 function selection_sort($arr)
{
	$count = count($arr);
	if($count $i; $j--)
		{
			if($arr[$j] <br>快速排序:实质上和冒泡排序一样,是属于交换排序的一种应用。<p></p><pre code_snippet_id="557769" snippet_file_name="blog_20141221_4_6276016" name="code">//快速排序(一维数组)
function quick_sort($arr)
{
	$count = count($arr);
	if($count <br>
                
                
                <p>
                    以上就介绍了PHP实现常见排序算法,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。</p>
                <p>
                    </p>
             
Copier après la connexion
É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