Stack là một loại collection đặc biệt được sử dụng để lưu trữ các phần tử theo cơ chế LIFO (Last In First Out).
Ví dụ: Khi ta thêm các phần tử theo thứ tự 1, 2, 3, 4 thì lúc lấy ra ta lại lấy ngược lại từ 4, 3, 2, 1.
Trong C# có cả generic Stack và non-generic Stack, chúng ta nên sử dụng generic Stack nhé.
Các đặc điểm của Stack:
Trong phần này chúng ta sẽ tìm hiểu về các đặc điểm và phương thức của Stack.
Các thuộc tính của Stack:
Thuộc tính
|
Mô tả
|
---|---|
Count
|
Trả về tổng số phần tử trong Stack
|
Các phương thức trong Stack:
Phương thức
|
Mô tả
|
---|---|
Push()
|
Chèn một item ở đầu Stack
|
Peek()
|
Trả về một item ở đầu Stack
|
Pop()
|
Loại bỏ và trả lại item ở đầu Stack
|
Contains()
|
Kiểm tra xem một item có tồn tại trong Stack hay không
|
Clear()
|
Xóa tất cả các item khỏi Stack
|
Chúng ta có thể tạo đối tượng của Stack bằng cách chỉ định một tham số có kiểu dữ liệu mà nó có thể lưu trữ. Stack 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 Stack và thêm các item vào Stack bằng phương thức Push().
|
Kết quả:
Ngoài ra ta cũng có thể tạo Stack bằng mảng.
|
Kết quả:
Phương thức Pop() trả về item cuối cùng trong Stack đồng thời loại bỏ nó khỏi Stack.
Nếu Stack trống thì nó trả về InvalidOperationException, vì vậy hãy luôn kiểm tra số phần tử trong ngăn xếp trước khi gọi phương thức Pop().
Console.OutputEncoding = Encoding.Unicode;
|
Kết quả:
Phương thức Peek() trả về item cuối cùng trong Stack nhưng không loại bỏ nó khỏi Stack.
Nếu Stack trống thì nó trả về InvalidOperationException, vì vậy hãy luôn kiểm tra số phần tử trong ngăn xếp trước khi gọi phương thức Peek().
|
Kết quả:
Phương thức Contains() kiểm tra một item có tồn tại trong Stack 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!
+ -:
+ -: