さえぴ の めも

色んなアウトプットする。

Python3でスタック&キュー

タイトルママです。
アルゴリズムの勉強も兼ねて、10分くらいで書いてみました。


スタック

class Stack:
	def __init__(self):
		self.stack = [0,0,0,0,0]
		self.p = 0

	def push(self,obj):
		self.stack[self.p] = obj
		self.p += 1

	def pop(self):
		del self.stack[self.p-1]
		self.p -= 1

	def disp(self):
		print(self.stack)

if __name__ == "__main__":
	stack = Stack()
	data = [2,4,6,8,10]
	for i in range(len(data)):
		stack.push(data[i])
	stack.disp()
	for i in range(len(data)):
		stack.pop()
		stack.disp()

キュー

class Queue:
	def __init__(self):
		self.queue = [0,0,0,0,0]
		self.p = 0

	def enqueue(self,obj):
		self.queue[self.p] = obj
		self.p += 1

	def dequeue(self):
		del self.queue[0]
		self.p -= 1

	def disp(self):
		print(self.queue)

if __name__ == "__main__":
	queue = Queue()
	data = [2,4,6,8,10]
	for i in range(len(data)):
		queue.enqueue(data[i])
	queue.disp()
	for i in range(len(data)):
		queue.dequeue()
		queue.disp()

オーバーしちゃった時の処理などを入れていないので、まだ色々手直ししないといけないです。
githubGitHub - sae-py/stack_and_queue