Page 26 - โครงสร้างข้อมูลและขั้นตอนวิธี
P. 26
15-16 โครงสร้างข ้อมูลแ ละข ั้นต อนว ิธี
Function MaxSearch (A, n)
1 BEGIN
2 x := A[1]
3 FOR i := 2 TO n DO
4 BEGIN
5 IF A[i] > x THEN
6 x := A[i]
7 END
8 RETURN x
9 END
การท �ำงาน
บรรทัดที่ 2 ก�ำหนดให้ส มาชิกตัวแ รกเป็นค ่าม ากส ุด
บรรทัดท ี่ 3-7 ก�ำหนดการท�ำซํ้าเริ่มต ั้งแต่สมาชิกตัวท ่ี 2 จนถึง n
บรรทัดท ี่ 5 เปรียบเทียบค ่ามากส ุด (x) กับค ่าป ัจจุบันข องอ าร์เรย์ (A[i])
บรรทัดท่ี 6 ถ้าค ่าปัจจุบันข องอ าร์เรย์มากกว่า เปล่ียนค ่าม ากท่ีสุดให้เป็นค ่าปัจจุบันข องอ าร์เรย์
บรรทัดที่ 7 ย้อนก ลับไปบ รรทัดท ี่ 3 โดยเปล่ียนค ่าดัชนีให้ช้ีตัวถัดไป
บรรทัดท ี่ 8 ถ้าท�ำซํ้าจนครบทุกส มาชิกแล้ว ส่งค่ากลับเป็นค ่าม ากท ี่สุด
การท�ำงานข องข ั้นต อนว ธิ ี
ข้อมูล: 15, 19, 9, 7, 23, 64, 11, 53
เริ่มต ้น
15 19 9 7 23 64 11 53
มากที่สุด
ก�ำหนดให้ 15 เป็นค่าม ากท ี่สุด
รอบท่ี 1
15 19 9 7 23 64 11 53
- เปรียบเทียบ 15 กับ 19 ซึ่ง 19 มีค่ามากกว่าดังนั้นให้ค่าม ากท ่ีสุดเป็น 19
รอบท่ี 2
15 19 9 7 23 64 11 53
- เปรียบเทียบ 19 กับ 9 ซ่ึง 19 มีค ่าม ากกว่า ดังน้ัน ค่ามากท ่ีสุดคงเดิม