整數可以用作簡單的棧來使用,整數0,入棧加1,出棧減1。這種方式只能用作使用棧進行簡單判斷的地方,不適用於使用棧來存放資料。
比如判斷括號是否匹配正確,(()()),這樣的就是正確的,())( )),這樣的就是不正確的,且只能判斷一種括號的。
因為只是為了判斷括號是否正確,所以用棧來做,但同時由於沒有資料需要存放,使用真正的棧就會浪費空間。所以使用整數來充當乙個棧。這個棧只要入棧、出棧和棧內元素的個數的功能,不具備取得棧內元素的功能。
class
myutil:
""" the class has ony a method, which is used to decide whether
a string has correct brackets or not.
類有乙個方法,用於判斷字串中括號匹配是否正確。
"""defbracket
(self, s):
""" :type s: str
:rtype: bool
"""stack = 0
for i in range(len(s)):
if s[i] == '(' :
stack += 1
elif s[i] == ')':
stack -= 1
if stack < 0:
return
false
if stack != 0:
return
false
else:
return
true
# 最後只有正確的stack才是0,格式錯誤的都不為0
""" the method is used for test
測試方法
"""deftest
(self):
print(self.bracket('()()')) # true
print(self.bracket(')()(')) # false
print(self.bracket('(((')) # false
print(self.bracket(')))')) # false
print(self.bracket('())(')) # false
print(self.bracket('')) # true
print(self.bracket('()()())()')) # false
類似的還有使用兩個整數當做簡單佇列使用,第乙個整數用於指示隊頭,第二個整數用於指示隊尾。 C count函式的用法(可以用作統計個數)
algorithm標頭檔案定義了乙個count的函式,其功能類似於find。這個函式使用一對迭代器和乙個值做引數,返回這個值出現次數的統計結果。編寫程式讀取一系列int型資料,並將它們儲存到vector物件中,然後統計某個指定的值出現了多少次 中向量的那種方式 include include inc...
supervisor可以用的配置es和kibana
program elasticsearch directory usr local elasticsearch bin 程式的啟動目錄 command su elk c usr local elasticsearch bin elasticsearch 啟動命令,可以看出與手動在命令列啟動的命令是一...
棧和佇列的實驗
建立乙個標頭檔案seqstack.h該檔案包括順序棧類seqstack的定義 ifndef seqstack h define seqstack h const int stacksize 10 棧最多有10個元素 template 定義模板類seqstack class seqstack 析構函式...