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

スタックを実装するPythonプログラム


Pythonを使用してスタックを実装する必要がある場合は、スタッククラスが作成され、このクラスのインスタンスが作成されます。プッシュするメソッド、ポップ要素が定義され、インスタンスを使用してこれらのメソッドを呼び出します。

以下は同じのデモンストレーションです-

class Stack_struct:
   def __init__(self):
      self.items = []

   def check_empty(self):
      return self.items == []

   def add_elements(self, my_data):
      self.items.append(my_data)

   def delete_elements(self):
      return self.items.pop()

my_instance = Stack_struct()
while True:
   print('Push <value>')
   print('Pop')
   print('Quit')
   my_input = input('What operation would you like to perform ? ').split()

   my_op = my_input[0].strip().lower()
   if my_op == 'push':
      my_instance.add_elements(int(my_input[1]))
   elif my_op == 'pop':
      if my_instance.check_empty():
         print('The stack is empty')
      else:
         print('The deleted value is : ', my_instance.delete_elements())
   elif my_op == 'Quit':
      break

出力

Push <value>
Pop
Quit
What operation would you like to perform ? Push 6
Push <value>
Pop
Quit
What operation would you like to perform ? Psuh 8
Push <value>
Pop
Quit
What operation would you like to perform ? Psuh 34
Push <value>
Pop
Quit
What operation would you like to perform ? Pop
The deleted value is : 6
Push <value>
Pop
Quit

説明

  • 必要な属性を持つ「Stack_struct」クラスが作成されます。

  • 空のリストを作成するために使用される「init」関数があります。

  • リストが空かどうかを確認する「check_empty」という名前の別のメソッド。

  • 空のリストに要素を追加する「add_elements」という名前の別のメソッドが定義されています。

  • リストから要素を削除する「delete_elements」という名前のメソッドが定義されています。

  • 「Stack_struct」クラスのオブジェクトが作成されます。

  • 実行する必要のある操作に対してユーザー入力が行われます。

  • ユーザーの選択に応じて、操作が実行されます。

  • 関連する出力がコンソールに表示されます。


  1. Pythonで範囲内のノード数を見つけるプログラム

    BSTがあり、左と右の境界lとrもあるとすると、lとrの間に値が存在するルート内のすべてのノードの数を見つける必要があります。 したがって、入力が次のような場合 l =7、r =13の場合、8、10、12の3つのノードがあるため、出力は3になります。 これを解決するために、次の手順に従います- スタック:=スタックと最初にルートを挿入し、カウント:=0 スタックが空でないときに、実行します node:=スタックの最上位要素、およびポップ要素 ノードがnullでない場合、 l<=ノードのデータ<=rの場合、 count:=count + 1

  2. PythonでstrStr()を実装する

    2つの文字列strとsub_strがあるとします。 strでsub_strの最初の出現を見つける必要があります。したがって、文字列strが「helloworld」で、サブ文字列が「lo」の場合、結果は3になります。 これは、Cのstrstr()関数を使用して実行できます。Cのstrstr()に類似した別の関数を設計する必要があります。 これを解決するには、次の手順に従います- i:=0、j:=0、m:=sub_strの長さおよびn:=strの長さ m =0の場合、0を返します i