WEB DEVELOPER - THIẾT KẾ VÀ PHÁT TRIỂN WEBSITE - Trang 134

Phát triển Web

2012

132

www.izwebz.com Demon Warlock

Output:

0, 1, 2, 3, 4, 5, 6, 7, 8, 9

Giải thích đoạn code trên

Đánh số key cho mảng ở trên (chú ý hen, trong C thì các chỉ số là index nhưng trong PHP lại là
key).

9 -> a[0]; 8 -> a[1]; 7-> a[2]; 6->a[3]; 5->a[4]; 4->a[5]; 3->a[6]; 2->a[7]; 1->a[8]; 0->a[9];

Ở vòng for đầu tiên với $i=0 sẽ thực hiện vòng lặp for thứ hai từ vị trí thứ 9 xuống vị trí thứ 0
của mảng trên, và bắt đầu so sánh nếu số trước lớn hơn số sau thì hoán vị hai số đó. Ví dụ giá trị
của a[9] =0 và a[8] =1; rõ ràng a[8] =1 (số trước) > a[9]=0 (số sau). Thỏa mãn điều kiện if ở trên
nên thực hiện hoán vị hai số này và tiếp tục so sánh như vậy cho tới j=1; như vậy sau giá trị $i=0
và chạy vòng for thứ hai thì phần tử 0 tức là giái trị của a[9] sẽ được đẩy lên đầu. (phần tử nhẹ
nhất nổi lên đầu.).Như vậy có thể hiểu ngay sau khi tăng $i lên một thì giá trị =1 trong mảng $a
sẽ đứng kế sau giá trị 0 trong mảng $a.

/*
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;

$min =0;

for ($i=0; $i&lt;count($b); $i++) {

$min =$i;

for ($j=$i+1; $j &lt;count($b); $j++) {

if ($b[$j] &lt; $b[$min])

{

$min =$j;

$temp =$b[$i];

$b[$i] = $b[$min];

$b[$min] =$temp;

}

}
}
foreach ($b as $value)
echo $value.&quot; ,&quot;;

?>

Liên Kết Chia Sẽ

** Đây là liên kết chia sẻ bới cộng đồng người dùng, chúng tôi không chịu trách nhiệm gì về nội dung của các thông tin này. Nếu có liên kết nào không phù hợp xin hãy báo cho admin.