C#
 Computer >> コンピューター >  >> プログラミング >> C#

C#を使用してスタックを反転する


スタックを設定し、それに要素を追加します。

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

次に、別のスタックを設定して反転します。

Stack rev = new Stack();

スタックの数が0に等しくなくなるまで、プッシュアンドポップメソッドを使用してスタックを元に戻します。

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

以下は完全なコードです-

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 + " ");
         }
      }
   }
}

出力

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

  1. C++キューを使用してBSTのパスを逆にする

    たとえば、二分探索木が与えられ、特定のキーからそのパスを逆にする必要があります。 解決策を見つけるためのアプローチ このアプローチでは、キューを作成し、ルートを取得するまですべてのノードをプッシュします。 例   #include <bits/stdc++.h> using namespace std; struct node {    int key;    struct node *left, *right; }; struct node* newNode(int item){    struc

  2. 再帰を使用して文字列を逆にするPythonプログラム

    再帰手法を使用して文字列を反転する必要がある場合は、ユーザー定義のメソッドが再帰とともに使用されます。 再帰は、より大きな問題の小さなビットの出力を計算し、これらのビットを組み合わせて、より大きな問題の解決策を提供します。 例 以下は同じのデモンストレーションです- def reverse_string(my_string):    if len(my_string) == 0:       return my_string    else:       return reverse_str