Heim  >  Artikel  >  Backend-Entwicklung  >  PHP实现常见排序算法

PHP实现常见排序算法

WBOY
WBOYOriginal
2016-08-08 09:32:171035Durchsuche

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

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

选择排序(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;
}

冒泡排序(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>
             
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:thinkPHP 表单自动验证功能Nächster Artikel:YII 的源码分析(三)