class node():
def __init__(self, data):
self.data = data
self.next = None
class SLL():
def __init__(self):
self. head = None
self.size = 0
def __str__(self):
text = ''
temp = self. head
while temp:
text += str(temp.data) + ' '
temp = temp.next
return text
def append(self, data): # 리스트의 제일 뒤에 data 추가
if not self.head:
self.head = node(data)
else:
temp = self.head
prev = None
while temp :
prev = temp
temp = temp.next
prev.next = node(data)
# while True:
#if temp.next==None:
#break
#temp = temp.next
def insert(self, idx, data): # idx 위치에 data 추가
pass
def remove(self, data): # data와 일치하는 node를 하나 제거
pass
def pop(self): #제일 뒤의 node 제거
if self.head == None:
return None
if self.head.next == None:
data = self.head.data
self.head = None
return data
prev = None
temp = self.head
while temp.next:
prev = temp
temp = temp.next
prev.next = None
return temp.data
a = SLL()
a.append(10)
print(a)
a.append(20)
print(a)
a.append(30)
print(a)
a.pop()
print(a)
a.pop()
print(a)
print(a.pop())
print(a)
댓글
0개댓글 쓰기
댓글을 작성하려면 로그인하세요.