วันพุธที่ 30 กันยายน พ.ศ. 2552

DTS 07-05-08-2552

สรุปบทเรียน
เรื่อง Queue

คิว (Queue) เป็นโครงสร้างข้อมูลแบบเชิงเส้นหรือลิเนียร์ลิสต์ซึ่งการเพิ่มข้อมูลจะกระทำที่ปลายข้างหนึ่งซึ่งเรียกว่าส่วนท้ายหรือเรียร์ (rear) และการนำข้อมูลออกจะกระทำที่ปลายอีกข้างหนึ่งซึ่งเรียกว่า ส่วนหน้า หรือฟรอนต์ (front)
ลักษณะการทำงานของคิวเป็นลักษณะของการเข้าก่อนออกก่อนหรือที่เรียกว่า FIFO (First In First Out)

การทำงานของคิว
การใส่สมาชิกตัวใหม่ลงในคิวเรียกว่า Enqueue ซึ่งมีรูปแบบคือ enqueue (queue,newElement)
หมายถึง การใส่ข้อมูล newElement ลงไปในส่วนเรียร์ของคิว
การนำสมาขิกออกจากติว เรียกว่า Dequeue ซึ่งมีรูปแบบคือ dequeue (queue,element)
หมายถึง การนำออกจากส่วนหน้าของคิวและให้ข้อมูลนั้นกับ element
การนำข้อมูลที่อยู่ตอนต้นของคิวมาแสดงจะเรียกว่าQueue Front แต่จะไม่ทำการเอาข้อมูลออกจากคิว
การนำข้อมูลที่อยู่ตอนท้ายของคิวมาแสดงเรียกว่า Queue Rear แต่จะไม่ทำการเพิ่มข้อมูลลงไปในคิว

การแทนที่ข้อมูลของคิว ทำได้ 2 วิธี คือ
1. การแทนที่ข้อมูลของคิวแบบลิงค์ลิสต์ ประกอบไปด้วย 2 ส่วน คือ
1) Head Node พอยเตอร์จำนวน 2 ตัว คือ Front และ rear กับจำนวนสมาชิกในคิว
2) Data Node จะประกอบไปด้วยข้อมูล (Data) และพอยเตอร์ที่ชี้ไปยังข้อมูลตัวถัดไป
2. การแทนที่ข้อมูลของคิวแบบอะเรย์

การประยุกต์ใช้ในธุรกิจ ประกอบไปด้วย
1. Create Queue จัดสรรหน่วยความจำให้แก่ Head node และให้ค่า Pointer
2. Enqueue การเพิ่ทข้อมูลเข้าไปในคิว
3. Dequeue การนำข้อมูลออกจากคิว
4. Queue Front การนำข้อมูลที่อยู่ส่วนต้นของคิวมแสดง LIFO
5. Queue Rear เป็นการนำข้อมูลที่อยู่ส่วนท้ายของคิวมาแสดง FIFO
6. Empty Queue เป็นการตรวจสอบว่าคิวว่างหรือไม่
7. Full Queue เป็นการตรวจสอบว่าคิวเต็มหรือไม่
8. Queue Count เป็นการนับสมาชิกที่อยู่ในคิว
9. Destroy Queue เป็นการลบข้อมูลทั้งหมดที่อยู่ในคิว

ไม่มีความคิดเห็น:

แสดงความคิดเห็น