<?php
header("content-type:text/html;charset=utf-8");
$arr = array(3,5,8,4,9,6,1,7,2);
echo implode(" ",$arr)."
";
//---------------------------------------
// 常用排序演算法
//---------------------------------------
//冒泡
function bubblesort($arr)
}
}
return $arr;
}
echo '氣泡排序:';
echo implode(' ',bubblesort($arr))."
";
//快速排序
function qsort($arr)
//如果沒有返回,說明陣列內的元素個數 多餘1個,需要排序
//選擇乙個標尺
//選擇第乙個元素
$base_num = $arr[0];
//遍歷 除了標尺外的所有元素,按照大小關係放入兩個陣列內
//初始化兩個陣列
$left_array = array();//小於標尺的
$right_array = array();//大於標尺的
for($i=1; $i<$length; $i++) else
}
//再分別對 左邊 和 右邊的陣列進行相同的排序處理方式
//遞迴呼叫這個函式,並記錄結果
$left_array = qsort($left_array);
$right_array = qsort($right_array);
//合併左邊 標尺 右邊
return array_merge($left_array, array($base_num), $right_array);
}
echo "快速排序:";
echo implode(' ',qsort($arr))."
";
//選擇排序
function selectsort($arr)
}
//已經確定了當前的最小值的位置,儲存到$p中。
//如果發現 最小值的位置與當前假設的位置$i不同,則位置互換即可
if($p != $i)
}
//返回最終結果
return $arr;
}
echo "選擇排序:";
echo implode(' ',selectsort($arr))."
";
//插入排序
function insertsort($arr) else
}
}
//將這個元素 插入到已經排序好的序列內。
//返回
return $arr;
}
//var_dump(insertsort($arr));
echo '插入排序:';
echo implode(' ',insertsort($arr))."
";
PHP常用排序演算法
1.氣泡排序 思路分析 在要排序的一組數中,對當前還未拍好的序列,從前往後對相鄰的兩個數一次進行比較和調整,讓較大的數往下沉,較小的數往上冒。也就是每倆個當相鄰的數比較厚發現他們的排序與排序要求相反時,就將他們互換 實現 function bubblesort arr return arr arr ...
PHP常用排序演算法 氣泡排序 快速排序 插入排序
氣泡排序 兩兩交換數值,最小的值在最左邊,就如最輕的氣泡在最上邊。對整列數兩兩交換一次,最小的數在最左邊,每次都能得乙個在剩下的數中的最小 的數,冒 出來的數組成乙個有序區間,剩下的值組成一無序區間,且有序區間中每一元素值都比無序區間的小。快速排序 基準數,左右二個陣列,遞迴呼叫,合併。插入排序 排...
php 常用排序
ar array array 10 11 100 100 a array 1 2,2 3 1 array multisort ar 0 sort asc sort string ar 1 sort numeric sort desc var dump ar 本例中在排序後,第乙個陣列將變成 10 1...