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

Lớp Queue trong C # là gì?

Để biểu diễn một tập hợp các đối tượng vào trước xuất trước trong C #, hãy sử dụng lớp Hàng đợi. Khi bạn thêm một mục trong danh sách, nó được gọi là enqueue và khi bạn xóa một mục, nó được gọi là deque.

Một số phương thức của lớp Queue bao gồm.

Sr.No Phương pháp &Mô tả
1 public virtual void Clear ();
Xóa tất cả các phần tử khỏi Hàng đợi.
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 Hàng đợi hay không.
3 đối tượng ảo công khai Dequeue ();
Loại bỏ và trả về đối tượng ở đầu Hàng đợi.
4 public virtual void Enqueue (object obj);
Thêm một đối tượng vào cuối Hàng đợi.
5 đối tượng ảo công cộng [] ToArray ();
Sao chép Hàng đợi sang một mảng mới.

Hãy để chúng tôi xem cách làm việc với enqueue và deque trong C # nằm dưới lớp hàng đợi.

Ví dụ

using System;
using System.Collections;
namespace Demo {
   class Program {
      static void Main(string[] args) {
         Queue q = new Queue();
         q.Enqueue('A');
         q.Enqueue('B');
         q.Enqueue('C');
         q.Enqueue('D');
         Console.WriteLine("Current queue: ");
         foreach (char c in q) Console.Write(c + " ");
         Console.WriteLine();
         q.Enqueue('E');
         q.Enqueue('F');
         q.Enqueue('G');
         q.Enqueue('H');
         Console.WriteLine("Current queue: ");
         foreach (char c in q) Console.Write(c + " ");
         Console.WriteLine();
         Console.WriteLine("Removing some values ");
         char ch = (char)q.Dequeue();
         Console.WriteLine("Value removed: {0}", ch);
         ch = (char)q.Dequeue();
         Console.WriteLine("Value removed: {0}", ch);
         Console.ReadKey();
      }
   }
}

Đầu ra

Current queue:
A B C D
Current queue:
A B C D E F G H
Removing some values
Value removed: A
Value removed: B

Ở trên, bằng cách sử dụng enqueue, các phần tử được thêm vào.

Queue q = new Queue();
q.Enqueue('A');
q.Enqueue('B');
q.Enqueue('C');
q.Enqueue('D');

Các phần tử bị xóa bằng cách sử dụng dequeue.

char ch = (char)q.Dequeue();
Console.WriteLine("Value removed: {0}", ch);