บทความ:
Perl
PHP
HTML
CSS
XML
DTD
XSD
RSS
WSDL
Linux
Site Map
Board
Connect Us: facebooktwitter

การเขียน Sub เพื่อเรียงค่าอะเรย์แบบ Selection Sort

นนทชัย ทรัพย์ทวีพงศ์ 2009-08-21 23:32:57  ให้คะแนนบทความนี้(0)  ลดคะแนนบทความ(0)  จำนวน Comment(0)  จำนวนคนอ่าน(523)  

ในบทความที่แล้วเราได้ทำความรู้จักกับการเรียงลำดับอะเรย์แบบ Bubble Sort ไปแล้วนะครับ มาในบทความนี้ผมจะยกตัวอย่างการเรียงลำดับแบบ Selection Sort ให้ผู้อ่านได้ลองศึกษาบ้างนะครับ เราไปเริ่มกันเลยครับ

ตัวอย่างการสร้าง Sub หรือฟังก์ชันในการเรียงลำดับสมาชิกอะเรย์แบบ Selection Sort

#!usr/bin/perl
sub SelectionSort {
	my ($sortby, @arr) = @_;

	$min = 0;
	if ($sortby eq "desc") {
		for ($i = 0; $i < $#arr; $i++) {
			$min = $i;
			for ($j = $i+1; $j <= $#arr; $j++) {
				$min = $j if ($arr[$j] > $arr[$min]);
			}
			$temp = $arr[$i];
			$arr[$i] = $arr[$min];
			$arr[$min] = $temp;
		}
	} else {
		for ($i = 0; $i < $#arr; $i++) {
			$min = $i;
			for ($j = $i+1; $j <= $#arr; $j++) {
				$min = $j if ($arr[$j] < $arr[$min]);
			}
			$temp = $arr[$i];
			$arr[$i] = $arr[$min];
			$arr[$min] = $temp;
		}
	}

	return @arr;
}

ตัวอย่างการเรียกใช้ sub SelectionSort()

#!usr/bin/perl
@arr = (2, 3, 1, 5, 10, 7, 20);
@arr = &SelectionSort("asc", @arr);
print @arr;
print "\n";

@arr = &SelectionSort("desc", @arr);
print @arr;
แหล่งที่มา:

Related Article

Related Download



Login  Login
ค้นหา  Search