Page 30 - โครงสร้างข้อมูลและขั้นตอนวิธี
P. 30

15-20 โครงสร้างข​ ้อมูล​และ​ขั้นต​ อน​วิธี

  Function LinearSearch (A, n, x)
   1 BEGIN
   2 FOR i := 1 TO n DO
   3 BEGIN
   4 	 IF A[i] = x then
   5 		 RETURN i
   6 	 ELSE IF x < A[i] THEN
   7 		 RETURN -1
   8 END
   9 RETURN -1
  10 END

       การท​ �ำงาน
       บรรทัด​ที่ 2-8	 ก�ำหนดการท​ �ำ​ซ้ําจ�ำนวน n ครั้ง ​โดยเ​ริ่มต​ ้ังแต่​สมาชิกต​ ัว​แรก
       บรรทัด​ที่ 4 	 เปรียบเ​ทียบ​ข้อมูล​ที่ส​ ืบค้นก​ ับ​ค่าป​ ัจจุบันข​ อง​อาร์เรย์
       บรรทัดท​ ี่ 5 	 ถ้า​เง่ือนไขบ​ รรทัด​ที่ 4 เป็นจ​ ริง ให้​ส่ง​ค่าก​ ลับ​เป็นต​ �ำแหน่ง​ที่​พบ
       บรรทัด​ท่ี 6 	 เปรียบ​เทียบ​ข้อมูล​ที่ส​ ืบค้นว​ ่าน​ ้อยก​ ว่าค​ ่าป​ ัจจุบัน​ของ​อาร์เรย์ห​ รือ​ไม่
       บรรทัดท​ ี่ 7 	 ถ้าเ​งื่อนไข​บรรทัดท​ ี่ 6 เป็น​จริง ให้​ส่งค​ ่า​กลับ​เป็นต​ �ำแหน่ง​ท่ี​ไม่พ​ บ​คือ -1
       บรรทัดท​ ี่ 9 	 ถ้าท​ �ำ​ซํ้าจนค​ รบท​ ุกส​ มาชิก​แล้วไ​ม่​พบ ​ให้​ส่ง​ค่า​กลับ​เป็นต�ำแหน่ง -1

3. 	ตวั อยา่ งก​ ารท​ �ำ งานข​ องข​ ้ัน​ตอนว​ ธิ ีการค้นหาขอ้ มูลแบบเรียงล�ำ ดับ

ตวั อย่างท​ ่ี 15.6 จงแ​ สดงก​ าร​ค้นหาข​ ้อมูล​ด้วย​วิธี​การค​ ้นหา​แบบ​เรียงล​ �ำดับ จากข​ ้อมูลท​ ี่​ก�ำหนด​ให้ต​ ่อไ​ป​นี้
       ก�ำหนดให้
       A	 =	 [5, 24, 33, 43, 68, 73, 90, 91]
       n	 = 	 8
       x	 = 	 34

รอบท​ ี่ 1
         	 5	 24	 33	 43	 68	 73	 90	 91

             i = 1, A[1] = 5

         X = 34

       - 	เปรียบ​เทียบ​ค่าส​ มาชิกต​ ัวแ​ รก​โดย​มีค​ ่า​ดัชนี i = 1, A[1] = 5 กับ 34 ซ่ึง​ไม่​เท่า​กัน
       - 	เปรียบ​เทียบค​ ่า x = 34 กับ​ค่า 5 ซ่ึงค​ ่า x มากกว่า ให้เ​ปรียบ​เทียบ​ค่าถ​ ัดไ​ป
   25   26   27   28   29   30   31   32   33   34   35