今天将会就一些排序算法进行归纳总结,重温一次,以便个人加强记忆与理解。
此次学习记录以下排序算法:冒泡排序、快速排序、简单选择排序、堆排序,直接插入排序、希尔排序、合并排序
1.冒泡排序(Bubble Sort):它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。(来源:百度百科)
总结核心为:一组数进行两两对比,如果位置不对,即交换他们。
实现方法一:简单粗暴型
function BubbleSort()
{
$arr = array(1,5,9,2,3,7,4,8,6);
for($i = 0;$i < count($arr)-1;$i++)
{
for($j=$i+1;$j < count($arr);$j++)
{
if($arr[$i] > $arr[$j])
{
$tmp = $arr[$i];
$arr[$i] = $arr[$j];
$arr[$j] = $tmp;
}
}
}
print_r($arr);exit;
}
参考文章:
https://baike.baidu.com/item/冒泡排序/4602306?fr=aladdin(百度百科)