Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C#

Queue trong C# với các ví dụ minh họa

Lớp Queue trong C# là tập hợp first-in, first-out (FIFO) của các đối tượng. Dưới đây là các phương thức chính:

STTPhương thức & Mô tả
1Clear()
Xóa tất cả đối tượng khỏi Queue<T>.
2Contains(T)
Xác định xem một phần tử có trong Queue<T> hay không.
3CopyTo(T[], Int32)
Sao chép các phần tử Queue<T> vào mảng một chiều hiện có.
4Dequeue()
Xóa và trả về đối tượng ở đầu Queue<T>.
5Enqueue(T)
Thêm đối tượng vào cuối Queue<T>.
6Equals(Object)
So sánh đối tượng hiện tại với đối tượng khác.
7GetEnumerator()
Trả về enumerator để lặp qua Queue<T>.
8GetHashCode()
Hàm băm mặc định.
9GetType()
Lấy kiểu của instance hiện tại.

Ví dụ 1: Lấy phần tử ở đầu Queue

using System;
using System.Collections.Generic;

public class Demo {
    public static void Main() {
        Queue<string> queue = new Queue<string>();
        queue.Enqueue("A");
        queue.Enqueue("B");
        queue.Enqueue("C");
        queue.Enqueue("D");
        queue.Enqueue("E");
        queue.Enqueue("F");
        queue.Enqueue("G");
        
        Console.WriteLine("Số lượng phần tử = " + queue.Count);
        Console.WriteLine("Phần tử ở đầu queue = " + queue.Peek());
    }
}

Kết quả

Số lượng phần tử = 7
Phần tử ở đầu queue = A

Ví dụ 2: Xóa tất cả phần tử khỏi Queue

using System;
using System.Collections.Generic;

public class Demo {
    public static void Main() {
        Queue<string> queue = new Queue<string>();
        queue.Enqueue("Gary");
        queue.Enqueue("Jack");
        queue.Enqueue("Ryan");
        queue.Enqueue("Kevin");
        queue.Enqueue("Mark");
        queue.Enqueue("Jack");
        queue.Enqueue("Ryan");
        queue.Enqueue("Kevin");
        
        Console.Write("Số lượng phần tử = ");
        Console.WriteLine(queue.Count);
        
        queue.Clear();
        
        Console.Write("Số lượng phần tử (đã cập nhật) = ");
        Console.WriteLine(queue.Count);
    }
}

Kết quả

Số lượng phần tử = 8
Số lượng phần tử (đã cập nhật) = 0