# สร้าง Queue ของคุณเองง่ายๆในภาษา C#
Queue หรือ 'คิว' คือโครงสร้างข้อมูลประเภทหนึ่งที่สำคัญมากในการเขียนโปรแกรม โดยทำงานภายใต้หลักการ FIFO (First-In-First-Out) หมายความว่าข้อมูลที่ถูกเพิ่มเข้ามาก่อนจะเป็นข้อมูลแรกที่ถูกนำออกไป การให้บริการเช่นนี้มีประโยชน์อย่างมากในหลายสถานการณ์ เช่น การจัดการงานพิมพ์ การควบคุมการทำงานของโปรเซสเซอร์ หรือแม้แต่เพื่อจัดการคิวลูกค้าในธุรกิจต่างๆ
แม้ว่าในภาษา C# มีคลาส `Queue` ที่พร้อมใช้งานอยู่แล้วในไลบรารี่มาตรฐาน แต่การสร้าง Queue ด้วยตนเองจะช่วยให้เราเข้าใจโครงสร้างและการทำงานของมันได้ลึกซึ้งยิ่งขึ้น
ก่อนอื่น เราต้องสร้างคลาส Queue ขึ้นมาใหม่ เพื่อที่เราจะสามารถใช้งานมันในโปรแกรมของเรา
ในตัวอย่างข้างต้น เราได้สร้างคลาส `SimpleQueue` ซึ่งเป็นตัวแทนของ Queue สำหรับทุกประเภทข้อมูล (generic) โดยใช้ `LinkedList
ตัวอย่างการใช้งาน Queue
ต่อไปนี้คือ 3 ตัวอย่างของการใช้งานคลาส `SimpleQueue` ที่เราได้สร้างขึ้น:
ตัวอย่างที่ 1: เพิ่มและลบข้อมูล
ในตัวอย่างนี้ เราได้เพิ่มสามข้อมูลคือ Apple, Banana และ Cherry และจากนั้นเราก็ลบข้อมูลตัวแรกที่เข้าคิว (Apple) และตัวถัดไป (Banana) ออกจากคิว
ตัวอย่างที่ 2: ดูข้อมูลที่อยู่หน้าคิว
ตัวอย่างนี้แสดงวิธีการ "Peek" หรือดูค่าที่อยู่หน้าสุดของคิวโดยไม่เอาออกจากคิว
ตัวอย่างที่ 3: ตรวจสอบความว่างเปล่าของคิว
ในตัวอย่างสุดท้ายนี้ เราตรวจสอบว่าคิวนั้นว่างเปล่าหรือไม่ โดยใช้คุณสมบัติ `IsEmpty`
ยกตัวอย่างการใช้งาน Queue ในโลกจริง อาทิเช่นการพัฒนาระบบจัดคิวให้กับทางร้านค้าหรือสถานบริการต่างๆ เพื่อให้งานการจัดการลูกค้าที่เข้ามาภายในร้านสามารถถูกจัดการได้อย่างมีระเบียบและประสิทธิภาพ
การสร้าง Queue ของคุณเองใน C# ไม่ได้ยากเลย และนี่เป็นแค่หนึ่งในโปรแกรมหลายๆ อย่างที่คุณสามารถเรียนรู้ได้ที่ EPT หากคุณต้องการพัฒนาทักษะการเขียนโปรแกรมของคุณให้ดียิ่งขึ้น พิจารณาลงทะเบียนหลักสูตรกับเรา และเริ่มการเดินทางสู่การเป็นนักพัฒนาซอฟแวร์มืออาชีพที่ EPT วันนี้!
หมายเหตุ: ข้อมูลในบทความนี้อาจจะผิด โปรดตรวจสอบความถูกต้องของบทความอีกครั้งหนึ่ง บทความนี้ไม่สามารถนำไปใช้อ้างอิงใด ๆ ได้ ทาง EPT ไม่ขอยืนยันความถูกต้อง และไม่ขอรับผิดชอบต่อความเสียหายใดที่เกิดจากบทความชุดนี้ทั้งทางทรัพย์สิน ร่างกาย หรือจิตใจของผู้อ่านและผู้เกี่ยวข้อง
หากมีข้อผิดพลาด/ต้องการพูดคุยเพิ่มเติมเกี่ยวกับบทความนี้ กรุณาแจ้งที่ http://m.me/Expert.Programming.Tutor
085-350-7540 (DTAC)
084-88-00-255 (AIS)
026-111-618
หรือทาง EMAIL: NTPRINTF@GMAIL.COM