Queue C# là một collection đặc biệt được sử dụng để lưu trữ theo cơ chế FIFO (First In First Out), hoàn toàn ngược lại với Stack.
Ví dụ: Khi chúng ta xếp hàng thì người xếp đầu tiên sẽ được vào đầu tiên, đó cũng là một cơ chế FIFO.
Trong C# có cả generic Queue và non-generic Queue , chúng ta nên sử dụng generic Queue nhé.
Các đặc điểm của Queue:
Trong phần này chúng ta sẽ tìm hiểu về các thuộc tính và phương thức của Queue.
Các thuộc tính trong Queue:
Thuộc tính
|
Mô tả
|
---|---|
Count
|
Trả về tổng số phần tử trong Queue
|
Các phương thức trong Queue:
Phương thức
|
Mô tả
|
---|---|
Enqueue()
|
Thêm một item ở đầu Queue
|
Peek()
|
Trả về một item ở đầu Queue
|
Dequeue()
|
Loại bỏ và trả lại item ở đầu Queue
|
Contains()
|
Kiểm tra xem một item có tồn tại trong Queue hay không
|
Clear()
|
Xóa tất cả các item khỏi Queue
|
Chúng ta có thể tạo đối tượng của Queue bằng cách chỉ định một tham số có kiểu dữ liệu mà nó có thể lưu trữ. Queue cho phép lưu giá trị null (đối với các loại tham chiếu) và các giá trị trùng lặp.
|
Ví dụ dưới đây minh họa cho việc tạo Queue và thêm các item vào Queue bằng phương thức Enqueue().
|
Kết quả:
Để lấy phần tử của Queue ta có hai phương thức đó là Dequeue() và Peek.
Phương thức Dequeue() sẽ lấy phần tử đầu tiên trong Queue đồng thời loại bỏ nó khỏi Queue.
Khi Queue rỗng nếu chúng ta gọi hai phương thức trên thì nó sẽ trả về InvalidOperationException. Vì vậy hãy kiểm tra Queue trước khi sử dụng hai phương thức này nhé.
|
Kết quả:
Còn phương thức Peek() chỉ lấy phần tử đầu tiên trong Queue mà không loại bỏ nó.
|
Kết quả:
Phương thức Contains() kiểm tra một item có tồn tại trong Queue hay không. Nếu tồn tại nó thì trả về true, nếu không thì trả về false.
.
|
Kết quả:
Về bài trước... |
Bài tiếp theo... |
Cờ caro |
Butterfly |
Lật hình (luyện trí nhớ) |
Cờ tướng ONLINE |
Xếp hình |
Ghép hình |
15_PUZZLE |
Kill ghosts |
Banchim |
Planet Defense |
Tower game |
Tower game |
Plapy Bird (NH.Đông) |
Vượt chướng ngại vật |
+ Lê Văn Thuyên-0379136392:Cảm ơn quý vị và các bạn đã vào Website của Lê Thuyên! Lê thuyên rất mong nhận được sự góp ý của quý vị và các bạn cho sự phát triển của website này. Xin chân thành cảm ơn!
* Dũng Trung-090567448:Lê Văn Thuyên0379136392--->Ok.Anh!
* Bé Nguyễn-benguyen@gmail,com:Lê Văn Thuyên0379136392--->Good job!
+ -:
+ -: