연결리스트란 노드로 구성되어 있고 노드는 값과 다음 노드를 가리키는 값 2가지로 구성된다.
class Node:
def __init__(self, value):
self.value = value
self.link = None
class LinkedList:
def __init__(self):
self.head = None
def show(self):
top = self.head
llarray = []
llarray.append(top.value)
while top.link is not None:
top = top.link
llarray.append(top.value)
print('->'.join(map(str, llarray)) + "->None")
def add(self, value):
if self.head == None:
self.head = Node(value)
else:
top = self.head
while top.link is not None:
top = top.link
top.link = Node(value)
def remove(self, value):
top = self.head
while top.link.value is not value:
top = top.link
top.link = top.link.link
ll = LinkedList()
ll.add(1)
ll.add(2)
ll.add(3)
ll.show()
ll.remove(2)
ll.show()
728x90
'알고리즘' 카테고리의 다른 글
[프로그래머스] 달리기 경주 (0) | 2024.04.29 |
---|---|
Python으로 구현하는 큐(Queue) (0) | 2023.12.01 |
Python으로 Stack(스택) 구현하기 (0) | 2023.11.30 |
[프로그래머스] a와 b출력하기 (1) | 2023.10.10 |
[프로그래머스] 같은 숫자는 싫어 (0) | 2023.10.10 |