파이썬 자료구조 책 공부중..
챕터2, 2.9번 문제 풀이
1. 제일 마지막 노드의 아이템을 변수에 저장
(제일 첫번째 노드 역시 변수에)
2. insert_after 메서드를 활용하여 self.head를 제일 뒤에 삽입
3. 제일 앞에 노드를 삭제
4. 제일 앞 노드와 1번에서 저장한 변수 값이 같아질때까지 실행
이 함수를 재귀로 돌리면 1번이 계속 리셋이 되서
함수 내에서 while문으로 작성함
def reverse(self):
p = self.head
for i in range(self.size -1):
p = p.next
#이를 통해서 p에 제일 마지막 아이템을 저장.
#여기서 size만큼 돌리게 되면 p에 None이 저장됨
while self.head != p:
self.insert_after(self.head.item, p):
#여기서 self.head는 node 객체(item, link)이므로
#item만을 넣기 위해 item으로 적용
self.delete_front():
대충 기억나는건 이정도..
'초보 프로그래머' 카테고리의 다른 글
DB 서버가 날라갔다(도망갔다...) (0) | 2018.05.25 |
---|---|
Java로 바애눈 자료구조, 연결리스트 개념과 기본연산(마지막) (0) | 2018.04.20 |
Java로 배우는 자료구조 3/5 (0) | 2018.04.19 |
Java로 배우는 자료구조, 연결리스트 (2/5) (0) | 2018.04.17 |
자료구조, singled, doubled, circle (0) | 2018.04.04 |