1. 노드 출력
def printNodes(start):
current = start
if current == None:
return
print(current.data, end = ' ')
while current.link != None:
current = current.link
print(current.data, end =' ')
2. 노드 삽입 3 단계 (첫 번째, 중간, 마지막)
def insertNode(findData, insertData):
global memory, head, current, pre
#첫 번째 노드 삽입
if head.data == findData:
node =Node()
node.data = insertData
node.link = head
head = node
return
#중간 노드 삽입
current = head
while current.link!=None:
pre = current
current = current.link
if current.data == findData:
node = Node()
node.data = insertData
node.link = current
pre.link = node
return
#마지막 노드 삽입
node =Node()
node.data = insertData
current.link = node
3. 노드 삭제 2단계 (첫 번째, 나머지)
def deleteNode(deleteData):
global memory, head, current, pre
#첫 번째 노드 삭제
if head.data ==deleteData:
current = head
head = head.link
del current
return
#나머지 노드 삭제
current = head
while current.link != None:
pre = current
current = current.link
if current.data == deleteData:
pre.link = current.link
del current
return
4. 노드 검색 3단계 (첫번째, 중간, 마지막)
def findNode(findData):
global memory, head, current, pre
current = head
#플래그 값
flag = False
if head.data == findData:
result = current
flag = True
while current.link != None:
current = current.link
if current.data == findData:
result = current
flag = True
if not flag:
result = Node()
return result
5. 연결 리스트의 원리
- 노드 구조
- 데이터와 링크로 구성되어 있다.
- 첫 번째 노드는 head라고 한다.
- 데이터를 노드 단위로 삽입, 삭제한다.