Phát triển Web
2012
133
www.izwebz.com Demon Warlock
Output: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
Ý tưởng thuật toán: xét một mảng cần sắp xếp ta sẽ chọn phần tử đầu tiên và giả sử nó là nhỏ
nhất, sau đó qua sử lí ta sẽ tìm ra phần tử nhỏ nhất thực sự của mảng và hoán vị nó với phần tử
vừa giá sử là nhỏ nhất.
Các thao tác nhìn có vẻ na ná bubble sort nhưng nó có thêm biến $min, biến này nhằm mục đích
lấy chỉ số (à quên key chứ )của phần tử nhỏ nhất mà ta vừa giả sử và xét đến điều kiện if ($b[$j]
< $b[$min]) nếu đúng thì gán lại chỉ số nhỏ nhất thực sự của mảng cho biến $min. Và thực hiện
hoán vị $a[$i] (là giá trị của biến min mà ta giả sử) cho $a[$min] (giá trị vừa tìm ra và nhỏ hơn
giá trị của $a[$i]). Chỉ vậy thôi. Đó là Selection Sort
/*
Author: NguyenKien.
Description: code for Selection Sort.
Date: 4/10/2010.
*/
<?php
$b = array(9, 8, 7, 6, 5, 4, 3, 2, 1, 0);
$i=0;
$j=0;
$temp =0;
$x =0;
for ($i=1; $i<count($b); $i++)
{
$x =$b[$i];
for ($j=$i-1; $j>=0 && $x<$b[$j]; $j--)
$b[$j+1] = $b[$j];
$b[$j+1]=$x;
}
foreach ($b as $value)
echo $value." ,";
?>
Output: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
Ý tưởng thuật toán: Giải thích rễ hiểu nhất cho thuật toán này là khi các bạn chời bài tiến
lên(ngoài băc mình hay gọi là chơi bài nam). Các bạn sẽ nhìn thầy một nhóm quân bài đã có thứ
tự nhưng con bài tiếp theo lại không đúng với thứ tự của nhóm quân bài này (ví dụ nhìn thầy 2
cơ, 3 cơ, 4 cơ A tiếp theo không phải 5 cơ mà là K cơ. Trong khi đó 5 cơ lại ở đâu đó trong các