‫ในบทเรียนนี้ เราจะพูดถึง stack และ Qs
‫Stacks และ Qs เป็นโครงสร้างข้อมูลในวิทยาการคอมพิวเตอร์
‫โครงสร้างข้อมูลเป็นรูปแบบการจัดระเบียบข้อมูล การจัดการและการจัดเก็บที่ช่วยให้เข้าถึงและแก้ไขได้อย่างมีประสิทธิภาพ
‫โครงสร้างข้อมูลแต่ละโครงสร้างมีวิธีการจัดเก็บและจัดการข้อมูลที่เราแทรกเข้าไปโดยเฉพาะ
‫โครงสร้างข้อมูลมีหลายประเภท แต่ในบทนี้ เราจะพิจารณาโครงสร้างข้อมูลสองแบบที่ใช้กันทั่วไปและมีประโยชน์เมื่อเราต้องการจัดการกับข้อมูลในบางสถานการณ์
‫โครงสร้างข้อมูลแรกที่เราจะพูดถึงคือสแต็กจากชื่อ
‫สแต็คเก็บข้อมูลในรูปแบบของสแต็ก
‫หากเราดูรูปหินที่เรียงซ้อนกันแบบนี้ เราสามารถเอาหินก้อนแรกได้อย่างง่ายดายโดยไม่ทำให้กองหินตกลงมา
‫แต่มันเป็นไปไม่ได้ที่จะเอาคนที่อยู่ตรงกลางออกไป
‫เราสามารถหยิบหินก้อนแรกได้อย่างง่ายดายโดยไม่ทำให้กองหินตกลงมา แต่เป็นไปไม่ได้ที่จะเอาก้อนหินที่อยู่ตรงกลางออก
‫มันจึงเข้าก่อนออกก่อนหรือเข้าหลังสุด
‫ก่อนอื่น สแต็คจะเพิ่มและลบข้อมูลออกจากด้านบนเท่านั้น
‫ดังนั้น แนวคิดนี้จึงมักใช้หรือมักใช้ในอัลกอริทึมทางคณิตศาสตร์และในการจัดการข้อมูลโดยระบบปฏิบัติการ
‫ตัวอย่างบางส่วนเกี่ยวกับการใช้สแต็คที่เราอาจเผชิญ เช่น การย้อนกลับข้อมูล
‫ดังนั้นสำหรับการย้อนกลับข้อมูลหรือตัวเลขโดยใช้สแต็ก มันง่ายมาก
‫หากเราเพียงแค่รับอินพุตจากผู้ใช้ ตัวอย่างเช่น และเก็บไว้ในสแต็ก ให้เริ่มลบข้อมูลออกจากสแต็กจากด้านบนเพื่อให้ข้อมูลถูกย้อนกลับ
‫ดังนั้นจึงมีปุ่มย้อนกลับของเบราว์เซอร์เป็นต้น
‫ดังนั้นในขณะที่ดูบทช่วยสอนและบทช่วยสอนของคุณ เบราว์เซอร์ของคุณจะบันทึกหน้าเว็บของสแลชของเว็บไซต์ที่คุณคลิก
‫และกดปุ่มย้อนกลับจะโหลดหน้าสุดท้ายที่คุณไป
‫และก่อนหน้านั้น ซึ่งในที่นี้เป็นตัวอย่างหนังสือเรียนเล่มหนึ่ง มีประโยชน์
‫แล้วยังมีปุ่มเลิกทำและทำซ้ำที่คุณมีในแอปพลิเคชันมากมายที่คุณมีสแต็กโดยพื้นฐานแล้วจัดเก็บสิ่งที่ทำไปแล้วจากนั้นจึงเลิกทำการกระทำที่ดำเนินการนั้น
‫ดังนั้นทั้งสแต็คและคิวจึงเป็นคอลเลกชั่นเหมือนรายการและพจนานุกรม
‫สแต็คมีการดำเนินการเฉพาะของตัวเองที่เราสามารถใช้ได้ เช่น เพื่อจัดการและจัดการข้อมูล
‫และพวกเขาเก็บสิ่งที่เรากำลังจะดูจะถูกผลัก
‫โดยใช้วิธีพุช เราสามารถเพิ่มข้อมูลลงในสแต็กได้
‫แน่นอน ข้อมูลจะถูกเพิ่มไว้ด้านบนเสมอ
‫จากนั้นเราก็มีป๊อปและใช้วิธีป๊อปเพื่อลบข้อมูลออกจากด้านบนของสแต็ก
‫และสุดท้ายเราก็มีวิธี peek ซึ่งจะส่งคืนข้อมูลวัตถุที่ด้านบนของสแต็กโดยไม่ต้องลบออก
‫จึงมีคิวและเลือกเป็นโครงสร้างข้อมูลอีกประเภทหนึ่งที่ใช้กันทั่วไปในการเขียนโปรแกรม QS ทำงานเหมือน
‫Q จริงในชีวิตจริง เช่น เช็คอินที่สนามบิน โดยที่คนแรกที่แผนกต้อนรับได้รับบริการก่อน หรือชอบในร้านอาหาร
‫ขับผ่านตำแหน่งที่รถด้านหน้าจะได้สั่งก่อน และเมื่อมีรถใหม่เข้ามา พวกเขาต้องรอที่ด้านหลังแถวและเราจะได้รับบริการครั้งสุดท้าย
‫ดังนั้นเราจึงใช้ Qs เมื่อลำดับของข้อมูลเข้ามามีความสำคัญ
‫ดังนั้นข้อมูลจะถูกเพิ่มจากด้านหลังเท่านั้นและนำออกจากด้านหน้าและไม่สามารถเข้าถึงองค์ประกอบที่อยู่ตรงกลางได้
‫มันคือระบบ FIFO
‫เข้าก่อน ออกก่อน เช่น ในระบบปฏิบัติการ ข้อความในคิว คำขอ IO การเคลื่อนไหวของเมาส์
‫และอื่นๆ เพื่อให้สามารถดำเนินการตามลำดับที่เข้ามาได้
‫จากนั้นจัดการคำขอเว็บและเซิร์ฟเวอร์เพื่อจัดการทีละรายการ
‫ดังนั้นจึงเป็นการจัดการความแออัดและการเข้าคิวในวิดีโอเกม และเกมต่อสู้ที่มีการโจมตีแบบคอมโบเช่น
‫Street Fighter ซึ่งคุณต้องติดตามข้อมูลของผู้ใช้เพื่อกำหนดคำสั่งผสมที่จะดำเนินการ
‫ชาวยิวมีการดำเนินการเฉพาะของตนเองที่เราสามารถทำได้เพื่อจัดการหรือจัดการข้อมูลที่เก็บไว้
‫ตัวอย่างเช่น การใช้วิธี NQ เราสามารถเพิ่มข้อมูลลงในคิวได้
‫แน่นอน ข้อมูลจะถูกเพิ่มไว้ด้านหลังคิวเสมอ ดังนั้นจึงหายาก
‫ที่ด้านหลังเพื่อที่จะพูด
‫จากนั้นเราก็มีวิธีคิว
‫เราสามารถลบข้อมูลออกจากด้านหน้าของคิวโดยใช้วิธีคิว
‫และสุดท้าย เราก็มี peak method ซึ่งจะคืนค่า object หรือ data ที่ด้านหน้าของ Queue โดยไม่ต้องลบออก
‫ก็แค่แอบมอง แต่ไม่ได้ทำอะไรกับมัน แค่มองเฉยๆ ว่ามีอะไรอยู่?
‫แล้วคุณก็ใช้งานได้
‫ต่อไปเราจะมาดูกันว่าเราจะสามารถนำไปใช้จริงและใช้สแต็คและคิวใน C-sharp ได้อย่างไร