class decQueue:
def __init__(self):
self.decQueueSize = 10
self.list = [None] * 10
self.front = 0
self.rear = 0
def isEmpty(self):
return self.front == self.rear
def isFull(self):
return self.front == (self.rear + 1) % self.decQueueSize
def addFront(self, item):
if not self.isFull():
self.list[self.front] = item
self.front = (self.front - 1 + self.decQueueSize) % self.decQueueSize
def deleteFront(self):
if self.isEmpty == False:
out = self.list[self.front + 1]
self.front = (self.front + 1) % self.decQueueSize
return out
def getFront(self):
if self.isEmpty() == False:
return self.list[(self.front - 1 + self.decQueueSize) % self.decQueueSize] 오류 --- 진은아 이거 틀렸다
def addRear(self, item):
result = self.isFull() == False
if result:
self.rear = (self.rear + 1) % self.decQueueSize
self.list[self.rear] = item
def deleteRear(self):
if self.isEmpty == False:
out = self.list[self.rear]
self.rear = (self.rear - 1 + self.decQueueSize) % self.decQueueSize
return out
def getRear(self):
if self.isEmpty() == False:
return self.list[self.rear]
def size(self):
return (self.rear - self.front + self.decQueueSize) % self.decQueueSize
def display(self):
if self.front > self.rear:
print(self.list[self.front + 1: self.decQueueSize] + self.list[0:self.rear + 1])
else:
print(self.list[self.front + 1:self.rear + 1])
def clear(self):
self.list = []
dp = decQueue()
for i in range(9):
if i % 2 == 0:
dp.addRear(i)
else:
dp.addFront(i)
print(dp.list)
dp.display()
def addFront(self, item):
if not self.isFull():
self.list[self.front] = item
self.front = (self.front - 1 + self.decQueueSize) % self.decQueueSize
오늘 태어나서 처음으로 게슈탈트 붕괴현상을 경험했다 이건 진짜 존나 오바참치적이게 될수도 있으니까
위에 함수 구현하는데 3시간동안 디버깅을 했는데 구현이 안되는거다 그 이유가 뭐였냐면 위에 코드에서
self.isFull() 을 사용했는데 내가 저걸 그냥 ()를 안써서 계속 컴파일오류는 발생하지않고 존나 몰랐다 근데 이정도 실수는 컴파일러가 충분히 잡아줄 수 있었다고 생각한다.