1.冒泡演算法,排序演算法,由於在排序過程中總是小數往前放,大數往後放,相當於氣泡往上公升,所以稱作氣泡排序
$array =
array(a,f,c,b,e,h,j,i,g);
function
maopao_fun($array)
$count = count($array);
for($i=0;$i<$count;$i++)}}
return $array;
}2.快速排序,
快速排序(quicksort)是對氣泡排序的一種改進。
由c. a. r.
hoare在2023年提出。它的基本思想是:通過一趟排序將要排序的資料分割成獨立的兩部分,
其中一部分的所有資料都比另外一部分的所有資料都要小,然後再按此方法對這兩部分資料分別進行快速排序,
整個排序過程可以遞迴進行,以此達到整個資料變成有序序列。
function
quicksort($arr)
$key = $arr[0];
$left_arr
= array();
$right_arr
= array();
for($i=1; $i<$len; $i++) else
}$left_arr
= quicksort($left_arr);
$right_arr
= quicksort($right_arr);
return array_merge($left_arr, array($key),
$right_arr);
}3.選擇排序
每一趟從待排序的資料元素中選出最小(或最大)的乙個元素,
順序放在已排好序的數列的最後,直到全部待排序的資料元素排完。 選擇排序是不穩定的排序方法
function
select_sort($arr)}}
return $arr;
}4.插入排序
從第乙個元素開始,該元素可以認為已經被排序
取出下乙個元素,在已經排序的元素序列中從後向前掃瞄
如果該元素(已排序)大於新元素,將該元素移到下一位置
重複步驟3,直到找到已排序的元素小於或者等於新元素的位置
將新元素插入到下一位置中
重複步驟2
function
insert_sort($arr)
}return $arr;
}$arr =
array(49,38,65,97,76,13,27);
print_r(insert_sort($arr));
PHP經典演算法題
面試題 演算法題 1 插入排序 一維陣列 基本思想 每次將乙個待排序的資料元素,插入到前面已經排好序的數列中的適當位置,使數列依然有序 直到待排序資料元素全部插入完為止。示例 初始關鍵字 49 38 65 97 76 13 27 49 j 2 38 38 49 65 97 76 13 27 49 j...
PHP經典趣味演算法
1 一群猴子排成一圈,按1,2,n依次編號。然後從第1只開始數,數到第m只,把它踢出圈,從它後面再開始數,再數到第m只,在把它踢出去 如此不停的進行下去,直到最後只剩下乙隻猴子為止,那只猴子就叫做大王。要求程式設計模擬此過程,輸入m n,輸出最後那個大王的編號。function king n,m e...
PHP經典演算法題
php學習之路 演算法題 1.使用php描述順序查詢和二分查詢 也叫做折半查詢 演算法,順序查詢必須考慮效率,物件可以是乙個有序陣列 二分查詢 陣列裡查詢某個元素 function bin sch array,low,high,k elseif k array mid else return 1 順...