반응형
연결리스트
차례로 연결된 노드를 표현하는 자료구조
단방향, 양방향
단방향의 각 노드는 다음 노드를 가리킨다
양방향의 각 노드는 다음 노드와 이전 노드를 가리킨다
구현
간단하게 연결리스트 구현
python
class Node:
def __init__(self, d):
self.data = d
self.next = None
def appendToTail(self, d):
end = Node(d)
while(self.next != None):
self = self.next
self.next = end
def allGet(self):
while(self.next != None):
print(self.data)
self = self.next
print(self.data)
node = Node("0")
node.appendToTail("1")
node.appendToTail("2")
node.appendToTail("3")
node.allGet()
이 상태로도 간단하게 구현할 수 있다
하지만 연결리스트 head 가 없어서 어디를 가리키고 있는지 알 수가 없다
LinkedList 클래스를 만들어 head에 첫번째 Node를 초기화 시킨다
class Node:
def __init__(self, d):
self.data = d
self.next = None
class LinkedList:
def __init__(self):
self.head = None
def appendToTail(self, d):
end = Node(d)
if self.head is None:
self.head = end
return
n = self.head
while(n.next != None):
n = n.next
n.next = end
def allGet(self):
n = self.head
while(n.next != None):
print(n.data)
n = n.next
print(n.data)
linkedlist = LinkedList()
linkedlist.appendToTail("1")
linkedlist.appendToTail("2")
linkedlist.appendToTail("3")
linkedlist.allGet()
반응형
'프로그래밍 > 자료구조, 알고리즘' 카테고리의 다른 글
[자료구조]힙(Heap), 우선순위 큐 (0) | 2022.07.22 |
---|---|
[자료구조]트리 (0) | 2022.07.18 |
[자료구조]큐 (0) | 2022.07.13 |
[자료구조]스택 (0) | 2022.07.13 |
[자료구조]해시테이블 (0) | 2022.07.11 |