-
StackBasic Programming/Data Structure 2018. 12. 11. 16:45
-- Python --
class Stack():def __init__(self):self.data = []self.top = 0#self.max = 100def push(self, value):self.data.append(value)self.top += 1def pop(self):if self.top is 0:print('Error. Stack is empty.')returnself.top -= 1data = self.data[self.top]del self.data[self.top]return datadef peek(self):if self.top is 0:print('Error. Stack is empty')returnreturn self.data[self.top-1]def size(self):return self.topdef clear(self):self.top = 0self.data = []def state(self):print(self.data)### Test Code ###s = Stack()s.push('hello world')s.push('hello python')s.state()print('pop : ' + str(s.pop()))print('peek : ' + str(s.peek()))print('size : ' + str(s.size()))s.state()s.clear()s.state()Result
-- Javascript --
function Stack() {let data = [];let top = 0;// this.max = 100;this.push = (value) => {data[top++] = value;};this.pop = () => {if(top === 0) console.log("Error. Stack is empty");else {let popedValue = data[--top];// delete data[top];data.splice(top, 1);return popedValue;}};this.peek = () => {if(top === 0) console.log("Error. Stack is empty");else return data[top - 1];};this.size = () => top;this.clear = () => {top = 0;data = {};};this.state = () => {console.log(data);};}/* Test Code */let s = new Stack();s.push("hello world");s.push("hello javascript");s.state();console.log(`pop : ${s.pop()}`);console.log(`peek : ${s.peek()}`);console.log(`size : ${s.size()}`);s.state();s.clear();console.log("=== after clear ===");s.state();Result
( 설명 추가 예정 )