กอง
คลาสสแต็กแสดงถึงคอลเล็กชันออบเจ็กต์เข้าก่อนออกก่อน ใช้เมื่อคุณต้องการเข้าครั้งสุดท้ายและออกก่อนสำหรับรายการ
ต่อไปนี้เป็นคุณสมบัติของคลาส 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());