กอง
คลาสสแต็กแสดงถึงคอลเล็กชันออบเจ็กต์เข้าก่อนออกก่อน ใช้เมื่อคุณต้องการเข้าครั้งสุดท้ายและออกก่อนสำหรับรายการ
ต่อไปนี้เป็นคุณสมบัติของคลาส Stack -
-
นับ − รับจำนวนองค์ประกอบในสแต็ก
ต่อไปนี้เป็นวิธีการของคลาส Stack -
ซีเนียร์ | วิธีการ &คำอธิบาย |
---|---|
1 | โมฆะเสมือนสาธารณะ Clear(); ลบองค์ประกอบทั้งหมดออกจากสแต็ค |
2 | บูลเสมือนสาธารณะมี (วัตถุวัตถุ); กำหนดว่าองค์ประกอบอยู่ในกองหรือไม่ |
3 | วัตถุเสมือนสาธารณะ Peek(); ส่งกลับวัตถุที่ด้านบนของกองโดยไม่ต้องเอาออก |
4 | วัตถุเสมือนสาธารณะ Pop(); ลบและส่งคืนวัตถุที่ด้านบนของสแต็ก |
5 | โมฆะเสมือนสาธารณะ Push(object obj); แทรกวัตถุที่ด้านบนของสแต็ก |
6 | วัตถุเสมือนสาธารณะ[] ToArray(); คัดลอก Stack ไปยังอาร์เรย์ใหม่ |
ต่อไปนี้คือตัวอย่างที่แสดงวิธีการทำงานกับคลาส Stack และวิธีการ Push() และ Pop() -
ตัวอย่าง
using System; using System.Collections; namespace CollectionsApplication { class Program { static void Main(string[] args) { Stack st = new Stack(); st.Push('A'); st.Push('B'); st.Push('C'); st.Push('D'); Console.WriteLine("Current stack: "); foreach (char c in st) { Console.Write(c + " "); } Console.WriteLine(); st.Push('P'); st.Push('Q'); Console.WriteLine("The next poppable value in stack: {0}", st.Peek()); Console.WriteLine("Current stack: "); foreach (char c in st) { Console.Write(c + " "); } Console.WriteLine(); Console.WriteLine("Removing values...."); st.Pop(); st.Pop(); st.Pop(); Console.WriteLine("Current stack: "); foreach (char c in st) { Console.Write(c + " "); } } } }
ผลลัพธ์
Current stack: D C B A The next poppable value in stack: Q Current stack: Q P D C B A Removing values.... Current stack: C B A
คิว
คลาสคอลเลกชันคิวเป็นแนวคิดใน C # ที่รวมอยู่ในเนมสเปซ System.Collection องค์ประกอบจะถูกเก็บไว้ใน QUEUE ใน FIFO องค์ประกอบแรกที่เพิ่มเข้ามาจะเป็นส่วนแรกที่ออกไปเหมือนคนต่อแถวรอซื้อตั๋วอยู่นอกโรงหนัง
มีสองวิธี -
- Enqueue() วิธีการเพิ่มค่า
- Dequeue() วิธีการดึงค่า
เข้าคิว
เพิ่มรายการในคิว
Queue q = new Queue(); q.Enqueue(“Two”); q.Enqueue(“One”);
ดีคิว
คืนสินค้าจากคิว
Queue q = new Queue(); q.Enqueue(“Two”); q.Enqueue(“One”); // remove elements while (q.Count > 0) Console.WriteLine(q.Dequeue());