スタックを実装する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」クラスのオブジェクトが作成されます。
-
実行する必要のある操作に対してユーザー入力が行われます。
-
ユーザーの選択に応じて、操作が実行されます。
-
関連する出力がコンソールに表示されます。
-
Pythonで範囲内のノード数を見つけるプログラム
BSTがあり、左と右の境界lとrもあるとすると、lとrの間に値が存在するルート内のすべてのノードの数を見つける必要があります。 したがって、入力が次のような場合 l =7、r =13の場合、8、10、12の3つのノードがあるため、出力は3になります。 これを解決するために、次の手順に従います- スタック:=スタックと最初にルートを挿入し、カウント:=0 スタックが空でないときに、実行します node:=スタックの最上位要素、およびポップ要素 ノードがnullでない場合、 l<=ノードのデータ<=rの場合、 count:=count + 1
-
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