Implementing A Stack

အခု ကၽြန္ေတာ္တို႔ေတြ stack ထဲမွာ ဘာေတြ ပါမယ္ဆိုတာကို သိၿပီးပါၿပီ။ လက္ေတြ႕ Stack class တစ္ခုကို တည္ေဆာက္ၾကည့္ရေအာင္။

class Stack: def __init__(self): self.items = [] def is_empty(self): return self.items == [] def push(self, item): self.items.append(item) def pop(self): return self.items.pop() def peek(self): return self.items[len(self.items) - 1] def size(self): return len(self.items)

အဲဒီ code ထဲမွာ ပါတဲ့ __init__(self) ဆိုတာကေတာ့ constructor ပါ။ Object တစ္ခုကို စၿပီး တည္ေဆာက္တာ နဲ႔ ဦးစြာ constructor ကို ေခၚပါတယ္။ stack မွာေတာ့ Object စ ေဆာက္တာနဲ႔ object ရဲ႕ items variable ကို empty ထည့္လိုက္ပါတယ္။

len(self.items) ဆိုတာကေတာ့ len ဆိုတဲ့ function ဟာ item ရဲ႕ array size ကို ေဖာ္ျပတာပါ။ item ထဲမွာ စုစုေပါင္း array အခန္း ဘယ္ ၂ ခုကို ရွိတယ္ဆိုတာကို သိႏိုင္ပါတယ္။

အခု ကၽြန္ေတာ္တို႔ stack ကို စမ္းၾကည့္ရေအာင္။

class Stack: def __init__(self): self.items = [] def is_empty(self): return self.items == [] def push(self, item): self.items.append(item) def pop(self): return self.items.pop() def peek(self): return self.items[len(self.items) - 1] def size(self): return len(self.items) s = Stack() print(s.is_empty()) s.push(4) s.push('dog') print(s.peek()) s.push(True) print(s.size()) s.push(8.4) print(s.pop()) print(s.pop()) print(s.size())

s = Stack()

s ကို Stack class အေနနဲ့ ေၾကျငာထားပါတယ္။

print(s.is_empty())

ပထမဆံုး stack က empty ျဖစ္ေနလားဆိုတာကို ထုတ္ျပထားတယ္။ ဒါေၾကာင့္ True ဆိုၿပီး ျပပါလိမ့္မယ္။

s.push(4)
s.push('dog')

ေနာက္ၿပီးေတာ့ ကၽြန္ေတာ္တို႔ေတြ 4 , dog စသည္ျဖင့္ ထည့္လိုက္ပါတယ္။

print(s.peek())

peek ကေတာ့ ေနာက္ဆံုး ထည့္ထားတဲ့ အခန္းကို ေဖာ္ျပတာပါ။

print(s.size())

s.size() ဆိုတာကေတာ့ ကၽြန္တို႔ေတြ size ဘယ္ေလာက္ရွိၿပီလဲ ဆိုတာကို ထုတ္ၾကည့္တာပါ။

print(s.pop())

pop ဆိုတာကေတာ့ ေနာက္ဆံုး ထည့္ထားတဲ့ data ေတြကို ထုတ္လိုက္တာပါ။

အခု stack class ကို စမ္းၾကည့္ရေအာင္။

results matching ""

    No results matching ""