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

Ngăn xếp với các ví dụ trong C #

Lớp Stack trong C # đại diện cho một tập hợp đơn giản từ cuối vào đầu ra (LIFO) không chung chung của các đối tượng.

Sau đây là các thuộc tính của lớp Stack -

Sr.No Thuộc tính &Mô tả
1 Đếm
Nhận số phần tử có trong Ngăn xếp.
2 Được đồng bộ hóa
Nhận một giá trị cho biết quyền truy cập vào Ngăn xếp có được đồng bộ hóa hay không (an toàn chuỗi).
3 SyncRoot
Nhận một đối tượng có thể được sử dụng để đồng bộ hóa truy cập vào Ngăn xếp.

Sau đây là một số phương thức của lớp Stack -

Sr.No Thuộc tính &Mô tả
1 Clear ()
Loại bỏ tất cả các đối tượng khỏi ngăn xếp.
2 Sao chép ()
Tạo một bản sao nông của Ngăn xếp.
3 Chứa (Đối tượng)
liệu một phần tử có trong Ngăn xếp hay không.
4 CopyTo (Mảng, Int32)
Sao chép Ngăn xếp vào Mảng một chiều hiện có, bắt đầu từ chỉ mục mảng được chỉ định.
5 Bằng (Đối tượng)
Xác định xem đối tượng được chỉ định có bằng đối tượng hiện tại hay không.
6 GetEnumerator ()
Trả về IEnumerator cho Ngăn xếp.
7 GetHashCode ()
Đóng vai trò là hàm băm mặc định. (Được kế thừa từ Đối tượng)
8 GetType ()
Rút ra loại của trường hợp hiện tại.
9 Peek ()
Trả về đối tượng ở trên cùng của Ngăn xếp mà không cần xóa đối tượng đó.
10 Pop ()
Loại bỏ và trả về đối tượng ở trên cùng của Ngăn xếp
11 Đẩy (Đối tượng)
Chèn một đối tượng vào đầu Ngăn xếp.

Ví dụ

Bây giờ chúng ta hãy xem một số ví dụ -

Để lấy đối tượng ở đầu Ngăn xếp, mã như sau -

using System;
using System.Collections.Generic;
public class Demo {
   public static void Main() {
      Stack<string> stack = new Stack<string>();
      stack.Push("A");
      stack.Push("B");
      stack.Push("C");
      stack.Push("D");
      stack.Push("E");
      stack.Push("F");
      stack.Push("G");
      stack.Push("H");
      stack.Push("I");
      stack.Push("J");
      Console.WriteLine("Count of elements = "+stack.Count);
      Console.WriteLine("Element at the top of stack = " + stack.Peek());
   }
}

Đầu ra

Điều này sẽ tạo ra kết quả sau -

Count of elements = 10
Element at the top of stack = J
Count of elements = 10

Để kiểm tra xem ngăn xếp có phần tử hay không, hãy sử dụng phương thức C # Contains (). Sau đây là mã -

Ví dụ

using System;
using System.Collections.Generic;
public class Demo {
   public static void Main() {
      Stack<int> stack = new Stack<int>();
      stack.Push(100);
      stack.Push(150);
      stack.Push(175);
      stack.Push(200);
      stack.Push(225);
      stack.Push(250);
      stack.Push(300);
      stack.Push(400);
      stack.Push(450);
      stack.Push(500);
      Console.WriteLine("Elements in the Stack:");      
      foreach(var val in stack) {
         Console.WriteLine(val);
      }
      Console.WriteLine("Count of elements in the Stack = "+stack.Count);
      Console.WriteLine("Does Stack has the element 400?= "+stack.Contains(400));
   }
}

Đầu ra

Điều này sẽ tạo ra kết quả sau -

Elements in the Stack:
500
450
400
300
250
225
200
175
150
100
Count of elements in the Stack = 10
Does Stack has the element40400?= False