Computer >> Máy Tính >  >> Lập trình >> C#

Ngăn xếp và Hàng đợi trong C #

Ngăn xếp

Lớp ngăn xếp đại diện cho một tập hợp đối tượng cuối cùng vào, ra trước. Nó được sử dụng khi bạn cần quyền truy cập cuối cùng vào, ra trước của các mục.

Sau đây là thuộc tính của lớp Stack -

  • Đếm - Nhận số phần tử trong ngăn xếp.

Sau đây là các phương thức của lớp Stack -

Sr.No. Phương pháp &Mô tả
1 public virtual void Clear ();
Loại bỏ tất cả các phần tử khỏi Ngăn xếp.
2 bool ảo công cộng Chứa (đối tượng đối tượng);
Xác định xem một phần tử có trong Ngăn xếp hay không.
3 đối tượng ảo công khai Peek ();
Trả về đối tượng ở trên cùng của Ngăn xếp mà không cần xóa đối tượng đó.
4 đối tượng ảo công khai Pop ();
Loại bỏ và trả về đối tượng ở trên cùng của Ngăn xếp.
5 public virtual void Push (object obj);
Chèn một đối tượng vào đầu Ngăn xếp.
6 đối tượng ảo công cộng [] ToArray ();
Sao chép Ngăn xếp sang một mảng mới.

Sau đây là một ví dụ cho thấy cách làm việc với lớp Stack và phương thức Push () và Pop () của nó -

Ví dụ

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 + " ");
         }
      }
   }
}

Đầu ra

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

Hàng đợi

Lớp tập hợp hàng đợi là một khái niệm trong C # được bao gồm trong không gian tên System.Collection. Các phần tử được lưu trữ trong QUEUE trong FIFO. Yếu tố đầu tiên được thêm vào sẽ là yếu tố đầu tiên đi ra ngoài giống như một hàng người bên ngoài rạp chiếu phim để mua vé.

Nó có hai phương pháp -

  • Phương thức Enqueue () để thêm giá trị
  • Phương thức dequeue () để truy xuất các giá trị

Yêu cầu

Thêm các mục trong hàng đợi.

Queue q = new Queue();
q.Enqueue(“Two”);
q.Enqueue(“One”);

Dequeue

Trả lại các mặt hàng từ hàng đợi.

Queue q = new Queue();
q.Enqueue(“Two”);
q.Enqueue(“One”);

// remove elements
while (q.Count > 0)
Console.WriteLine(q.Dequeue());