5.1 คิว ( Queues )

5.1 คิว  ( Queues )
คิว  (Queues) เป็นโครงสร้างข้อมูลแบบเชิงเส้น ซึ่งมีลักษณะเป็นแถวรอคอย ใน
การเพิ่มข้อมูลเข้าไปในคิว สามารถเพิ่มได้ตรง ส่วนท้ายคิวที่เรียกว่า Rear ในขณะที่การลบ
ข้อมูลจะกระทำตรงส่วนหัวคิวที่เรียกว่า Front ซึ่งข้อจำกัดดังกล่าว จึงทำให้มั่นใจได้ว่าการ
ประมวลผลภายในโครงสร้างข้อมูลแบบคิวนั้นข้อมูลที่เข้ามาก่อนจะถูกนำออกไปก่อน ซึ่งเป็นไป
ในลักษณะตามลำดับที่เรียกว่าเข้าก่อนออกก่อน( First In – First Out: FIFO )

|hardcopy|2011/05/28 23:14:56
miMBa
SUPHATTRA

รูปที่5.1 แสดงการเพิ่มข้อมูลและลบข้อมูลออกจากคิว

                เราสามารถจินตนาการโครงสร้างคิวจากการดำเนินชีวิตปัจจุบันของมนุษย์โดยทั่ว
ไปได้ เช่น การเข้าคิวซื้อตั๋วชมภาพยนตร์ การเข้าคิวบริการฝาก – ถอนเงินในธนาคารหรือการเข้า
คิวรอขึ้นรถโดยสารประจำทาง เป็นต้น ตัวอย่างการประยุกต์คิวมาใช้งานบนคอมพิวเตอร์ เช่น

  • การเข้าคิวของโปรเซสหรืองานต่างๆ เพื่อรอการประมวลผลจากซีพียูตามลำดับ
  • การแบ่งเวลา (Time Sharing) ด้วยการจำกัดตารางเวลาการประมวลผลของ
    แต่ละโปรเซสส่งผลให้สามารถหมุนเวียนการประมวลผลในแต่ละโปรเซสสลับไป
    มาได้ ทำให้ดูเหมือนกับการประมวลผลงานหลายๆ งานได้ในเวลาเดียวกัน
    (Multitasking)
  • การเข้าคิวเพื่อรอพิมพ์ผลลัพธ์จากเครื่องพิมพ์

|hardcopy|2011/05/28 23:16:39
miMBa
SUPHATTRA
รูปที่
5.2 หลักการของคิว (Queue Concept)