php常用排序演算法

2021-08-08 07:15:29 字數 1830 閱讀 3706

<?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...