ホームページ > バックエンド開発 > Python チュートリアル > Pythonアルゴリズムスタックの実装

Pythonアルゴリズムスタックの実装

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
リリース: 2016-06-16 08:42:49
オリジナル
1344 人が閲覧しました

この記事では、Python アルゴリズムでのスタックの実装を例の形式で示します。これは、データ構造ドメイン アルゴリズムを学習するための一定の参考値となります。具体的な内容は以下の通りです:

1. 一般的なスタック操作:

Stack() は空のスタック オブジェクトを作成します
Push() は要素をスタックの先頭に追加します
Pop() はスタックの最上位の要素を削除し、この要素を返します
Peak() は最上位の要素を削除せずに返します
isEmpty() スタックが空かどうかを判断します
size() はスタック内の要素の数を返します

2. 単純なケースと操作結果:

Stack Operation      Stack Contents   Return Value
 s.isEmpty()   []        True
 s.push(4)   [4] 
 s.push('dog')   [4,'dog'] 
 s.peek()   [4,'dog']    'dog'
 s.push(True)   [4,'dog',True] 
 s.size()   [4,'dog',True]   3
 s.isEmpty()   [4,'dog',True]   False
 s.push(8.4)   [4,'dog',True,8.4] 
 s.pop()       [4,'dog',True]   8.4
 s.pop()       [4,'dog']     True
 s.size()   [4,'dog']     2

ログイン後にコピー

ここでは、Python のリスト オブジェクトを使用してスタックの実装をシミュレートします。具体的なコードは次のとおりです。

#coding:utf8
class Stack:
  """模拟栈"""
  def __init__(self):
    self.items = []
    
  def isEmpty(self):
    return len(self.items)==0 
  
  def push(self, item):
    self.items.append(item)
  
  def pop(self):
    return self.items.pop() 
  
  def peek(self):
    if not self.isEmpty():
      return self.items[len(self.items)-1]
    
  def size(self):
    return len(self.items) 
s=Stack()
print(s.isEmpty())
s.push(4)
s.push('dog')
print(s.peek())
s.push(True)
print(s.size())
print(s.isEmpty())
s.push(8.4)
print(s.pop())
print(s.pop())
print(s.size())

ログイン後にコピー

興味のある読者は、この記事で説明されているサンプル コードをテストしてみてください。Python を学ぶことは誰にとっても有益であると思います。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート