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

Đảo ngược một ngăn xếp bằng C #

Đặt một ngăn xếp và thêm các phần tử vào nó.

Stack st = new Stack();
st.Push('P');
st.Push('Q');
st.Push('R');

Bây giờ, hãy đặt một ngăn xếp khác để đảo ngược nó.

Stack rev = new Stack();

Cho đến khi số lượng ngăn xếp không bằng 0, hãy sử dụng phương pháp Đẩy và Bật để đảo ngược nó.

while (st.Count != 0) {
   rev.Push(st.Pop());
}

Sau đây là mã hoàn chỉnh -

Ví dụ

using System;
using System.Collections;

namespace CollectionsApplication {
   public class Program {
      public static void Main(string[] args) {
         Stack st = new Stack();
         Stack rev = new Stack();
         st.Push('P');
         st.Push('Q');
         st.Push('R');
         Console.WriteLine("Current stack: ");
         foreach(char c in st) {
            Console.Write(c + " ");
         }
         Console.WriteLine();
         while (st.Count != 0) {
            rev.Push(st.Pop());
         }
         Console.WriteLine("Reversed stack: ");
         foreach(char c in rev) {
            Console.Write(c + " ");
         }
      }
   }
}

Đầu ra

Current stack:
R Q P
Reversed stack:
P Q R