Hàng đợi C# với ví dụ: Hàng đợi C# là gì và cách sử dụng?
Hàng đợi trong C# là gì?
Hàng đợi là một tập hợp trường hợp đặc biệt đại diện cho khái niệm nhập trước xuất trước. Hãy tưởng tượng một hàng người đang chờ xe buýt. Thông thường, người đầu tiên vào hàng sẽ là người đầu tiên lên xe. Tương tự, người cuối cùng vào hàng sẽ là người cuối cùng lên xe. Các phần tử được thêm vào hàng đợi, các phần tử này nằm chồng lên nhau.
Quá trình thêm một phần tử vào hàng đợi là thao tác enqueuer. Để xóa một phần tử khỏi hàng đợi, bạn có thể sử dụng thao tác dequeuer. Hoạt động trong Hàng đợi C# tương tự như ngăn xếp mà chúng ta đã thấy trước đây.
Hãy cùng xem cách sử dụng Queue trong C# và các thao tác có sẵn cho bộ sưu tập Queue trong C# chi tiết hơn.
Tuyên bố của hàng đợi
Việc khai báo Hàng đợi được cung cấp dưới đây. Hàng đợi được tạo với sự trợ giúp của kiểu Dữ liệu hàng đợi. Từ khóa “mới” được sử dụng để tạo một đối tượng của Hàng đợi. Đối tượng sau đó được gán cho biến qt.
Queue qt = new Queue()
Thêm phần tử vào hàng đợi
Phương thức enqueue được sử dụng để thêm một phần tử vào hàng đợi. Cú pháp chung của câu lệnh được đưa ra dưới đây.
Queue.enqueue(element)
Loại bỏ các phần tử khỏi hàng đợi
Phương thức dequeue được sử dụng để loại bỏ một phần tử khỏi hàng đợi. Hoạt động dequeue sẽ trả về phần tử đầu tiên của hàng đợi. Cú pháp chung của câu lệnh được đưa ra dưới đây
Queue.dequeue()
Đếm
Thuộc tính này được sử dụng để lấy số lượng mục trong hàng đợi. Dưới đây là cú pháp chung của câu lệnh này.
Queue.Count
Thông tin
Phương thức này được sử dụng để xem liệu một phần tử có trong Hàng đợi hay không. Dưới đây là cú pháp chung của câu lệnh này. Câu lệnh sẽ trả về true nếu phần tử tồn tại, nếu không nó sẽ trả về giá trị false.
Queue.Contains(element)
Bây giờ, hãy xem điều này hoạt động ở cấp độ mã. Tất cả mã được đề cập bên dưới sẽ được ghi vào ứng dụng Console của chúng tôi.
Mã sẽ được ghi vào tệp Program.cs của chúng tôi. Trong chương trình bên dưới, chúng ta sẽ viết mã để xem cách chúng ta có thể sử dụng các phương pháp nêu trên.
Ví dụ
Trong ví dụ Hàng đợi trong C# này, chúng ta sẽ xem cách tạo hàng đợi. Tiếp theo, chúng ta sẽ xem cách hiển thị các phần tử của hàng đợi và sử dụng các phương thức Count và Contain.
using System; using System.Collections; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DemoApplication { class Program { static void Main(string[] args) { Queue qt = new Queue(); qt.Enqueue(1); qt.Enqueue(2); qt.Enqueue(3); foreach (Object obj in qt) { Console.WriteLine(obj); } Console.WriteLine(); Console.WriteLine(); Console.WriteLine("The number of elements in the Queue " + qt.Count); Console.WriteLine("Does the Queue contain " + qt.Contains(3)); Console.ReadKey(); } } }
Giải thích mã
- Bước đầu tiên được sử dụng để khai báo Hàng đợi. Ở đây chúng ta khai báo qt là một biến để chứa các phần tử của Hàng đợi.
- Tiếp theo, chúng ta thêm 3 phần tử vào Hàng đợi của mình. Mỗi phần tử được thêm vào thông qua phương thức “enqueue”.
- Bây giờ một điều cần lưu ý về Hàng đợi là các phần tử không thể được truy cập thông qua vị trí chỉ mục như lập danh sách. Chúng ta cần sử dụng một cách tiếp cận khác để hiển thị các phần tử của Hàng đợi. Vì vậy, đây là cách chúng tôi hiển thị các phần tử của hàng đợi.
- Đầu tiên chúng ta khai báo một biến tạm thời gọi là obj. Điều này sẽ được sử dụng để giữ từng phần tử của Hàng đợi.
- Sau đó, chúng tôi sử dụng câu lệnh foreach để xem xét từng phần tử của Hàng đợi.
- Đối với mỗi phần tử Hàng đợi, giá trị được gán cho biến obj.
- Sau đó, chúng tôi sử dụng lệnh Console.Writeline để hiển thị giá trị cho bàn điều khiển.
- Chúng tôi đang sử dụng thuộc tính “Đếm” để lấy số lượng mục trong Hàng đợi. Thuộc tính này sẽ trả về một số. Sau đó chúng tôi hiển thị giá trị này cho bảng điều khiển.
- Sau đó, chúng tôi sử dụng phương thức “Chứa” để xem liệu giá trị 3 có trong Hàng đợi của chúng tôi hay không. Điều này sẽ trả về giá trị đúng hoặc sai. Sau đó chúng tôi hiển thị giá trị trả về này cho bảng điều khiển.
Nếu mã trên được nhập đúng và chương trình được chạy thì kết quả sau sẽ được hiển thị.
Đầu ra
Từ kết quả đầu ra chúng ta có thể thấy rõ các phần tử của Queue được hiển thị. Lưu ý rằng, không giống như “ngăn xếp” trong “hàng đợi”, phần tử đầu tiên được đưa vào hàng đợi sẽ được hiển thị đầu tiên. Số lượng phần tử hàng đợi cũng được hiển thị ở đầu ra. Ngoài ra, giá trị True được hiển thị để nói rằng giá trị 3 được xác định trên hàng đợi.
Hàng đợi trong C#
Bây giờ hãy xem chức năng loại bỏ. Chúng ta sẽ thấy đoạn mã cần thiết để loại bỏ phần tử cuối cùng khỏi hàng đợi.
using System; using System.Collections; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DemoApplication { class Program { static void Main(string[] args) { Queue qt = new Queue(); qt.Enqueue(1); qt.Enqueue(2); qt.Enqueue(3); qt.Dequeue(); foreach (Object obj in qt) { Console.WriteLine(obj); } Console.ReadKey(); } } }
Giải thích mã
- Ở đây chúng tôi chỉ đưa ra phương thức “dequeue”, được sử dụng để xóa một phần tử khỏi hàng đợi. Phương pháp này sẽ loại bỏ phần tử đầu tiên của hàng đợi.
Nếu mã trên được nhập đúng và chương trình được chạy thì kết quả sau sẽ được hiển thị.
Đầu ra:
Từ kết quả đầu ra, chúng ta có thể thấy rằng phần tử đầu tiên được thêm vào hàng đợi, tức là phần tử 1, đã bị xóa khỏi hàng đợi.
Tổng kết
Hàng đợi dựa trên khái niệm nhập trước xuất trước. Hoạt động thêm một phần tử vào hàng đợi được gọi là hoạt động enqueue. Hoạt động loại bỏ một phần tử khỏi hàng đợi được gọi là hoạt động dequeue.