디시인사이드 갤러리

갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

[🔎질문] 코린이가 파이썬으로 연결리스트 만들어봤는데 어떤지 평가좀 부탁드립니다.

코드는매일해도어려워갤로그로 이동합니다. 2022.03.03 00:32:29
조회 165 추천 0 댓글 4
														

제가 각종 상황에서 돌려보았을 때는 문제는 일단 없었습니다.

이 부분을 고치면 좋을 것 같다 등등 가감없는 지적 부탁드립니다.

class Node:
    """node 생성"""
    def __init__(self, data):
        self.data = data
        self.next = None


class LinkedList:
    """연결 리스트"""
    def __init__(self):
        """연결 리스트는 head tail로 구성"""
        self.head = None # 처음에는 아무것도 없으니 None이다. 연결 리스트의 맨 앞
        self.tail = None # 처음에는 아무것도 없으니 None이다. 연결 리스트의 맨 뒤

    def append_link(self, data):
        """연결 리스트 뒤에 노드 추가하기"""
        new_node = Node(data)

        if self.head is None: # 연결 리스트가 비어있는 경우
            self.head = new_node
            self.tail = new_node
        else: # 연결 리스트가 있는 경우
            self.tail.next = new_node
            self.tail = new_node

    def find_node(self, index):
        """노드에 접근하기"""
        iterator = self.head
        for _ in range(index): # 찾고 싶은 인덱스의 위치까지만 반복을 하면 그 노드로 갈 수 있다. 순서대로 연결되어 있으니까!
            iterator = iterator.next
        return iterator

    def insert_link(self, index, data):
        """연결 리스트의 원하는 위치에 삽입하기"""
        new_node = Node(data)
        iterator =
self.head
        if index == 0: # 0번째에 삽입한다면?
            self.head = new_node
            self.head.next = iterator
        else: # 그 외의 경우
            for _ in range(index-1):
                iterator = iterator.next

            new_node.next = iterator.next
            iterator.next = new_node

    def delete_link(self, index):
        """연결리스트 노드 삭제"""
        iterator = self.head
        if self.head is self.tail: # 만약에 연결 리스트에 원소가 한 개 라면?
            self.head = None
            self.tail = None
        elif index == 0: # 원소가 여러 개인 연결 리스트에서 0번째를 지우고 싶다면?
            self.head = iterator.next
        else: # 나머지 경우
            for _ in range(index-1):
                iterator = iterator.next
            if iterator is self.tail: # 맨 끝을 지우고 싶으면?
                self.tail.next = None
            else: # 중간을 지우고 싶다면?
                iterator.next = iterator.next.next

    def __str__(self):
        """연결 리스트 출력"""
        iterator = self.head
        result =
""
        while iterator is not None:
            result +=
f"{iterator.data} "
            iterator = iterator.next # 다음 노드로 넘어감
        return result


my_linked_list = LinkedList()
my_linked_list.append_link(
1)
# my_linked_list.append_link(2)
# my_linked_list.append_link(3)
# my_linked_list.append_link(4)
# my_linked_list.append_link(5)
# my_linked_list.append_link(6)

# print(my_linked_list)
# print(my_linked_list.find_node(0).data)

# my_linked_list.insert_link(6, 100)
# print(my_linked_list)
print(my_linked_list)
my_linked_list.delete_link(
0)
print(my_linked_list)




추천 비추천

0

고정닉 0

0

댓글 영역

전체 댓글 0
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 말머리 제목 글쓴이 작성일 조회 추천
- 설문 이성 보는 눈 없어서 걱정되는 스타는? 운영자 25/11/10 - -
- AD 저녁 뭐먹지? 오늘의 메뉴 추천! 운영자 25/10/31 - -
635 공지 가독성 좋은 f-string 을 쓰자 [9] 주넹갤로그로 이동합니다. 21.10.02 3616 10
1056 공지 (공지 요청)[질문지 양식] 복붙해 쓰시오. [4] 203.121.116.11갤로그로 이동합니다. 21.12.14 2527 5
634 공지 질문 올릴때 [2] 주넹갤로그로 이동합니다. 21.10.02 2678 5
178 공지 파이썬 공부할 때 참고할만한 것들 [7] 주넹갤로그로 이동합니다. 21.04.21 8357 7
1 공지 파이썬 미니 갤러리입니다. [9] 주넹갤로그로 이동합니다. 20.12.14 3427 7
2627 일반 진짜 코딩 과제 감을 못잡겠음 [4] ㅇㅇ(118.235) 10.31 55 0
2626 일반 ㄴㄷㅋㄷ 이거 5년전거 아님? 5년 전거로 공부해도되는거야? ㅇㅇ(118.37) 10.25 27 0
2625 일반 맥OS로 공부하는거 별로일까요? [1] ㅇㅇ(118.37) 10.25 38 0
2624 일반 입문 파이썬 공부하려는데요 인강좀 추천해주세요! ㅇㅇ(118.37) 10.25 50 0
2623 일반 코딩 1도 모르는데 [5] ㅇㅇ(119.199) 10.13 95 0
2622 🔎질문 셀레니움 값이 입력이 안되는 현상이 있습니다 ㅇㅇ(39.124) 10.09 51 0
2621 일반 혼자공부하는파이썬 점프투파이썬 [1] ㅇㅇ(211.246) 09.18 169 0
2620 일반 님들이 싫어하는거 사용자 이름 없음(182.228) 08.05 89 0
2619 🔎질문 고등학생인데 질문 있어요. [3] ㅇㅇ(118.221) 07.30 171 0
2618 🔎질문 셀레니움으로 이미지 직접 다운로드 하는 방법 [1] ㅇㅇ(39.7) 07.14 98 0
2617 일반 ㄴㄷㅋㄷ 6시간짜리 5년전꺼라 버전이 달라서 어려움 [1] 빨간망토갤로그로 이동합니다. 05.30 192 0
2616 일반 파이썬 아다 떼려면 책 필요없고 ㄴㄷㅋㄷ 보면됨? [2] 빨간망토갤로그로 이동합니다. 05.23 342 0
2615 일반 7월부터 C언어 파이썬 동시에 해야하는데 [3] ㅇㅇ(118.235) 05.19 180 0
2614 🔎질문 라즈베리파이 프로그램 관련 질문 [2] ㅇㅇ(59.25) 05.04 133 0
2613 일반 에라토스테네스-신촌우왕 체식 신촌우왕갤로그로 이동합니다. 04.22 383 0
2612 일반 카메라 영상을 파이썬 flet으로 실시간 출력 작성 해보신분 [2] ㅇㅇ(218.150) 04.03 203 0
2611 🔎질문 혼자 공부하기 파이썬 책 추천좀 해주세요 [2] 토리짜갤로그로 이동합니다. 03.31 330 0
2610 일반 루트 k의 근사값 [1] 신촌우왕갤로그로 이동합니다. 03.28 189 0
2609 일반 루트 2의 근사값 [1] 신촌우왕갤로그로 이동합니다. 03.28 649 0
2608 일반 짝수 완전수 신촌우왕갤로그로 이동합니다. 03.28 114 0
2606 일반 유클리드 호제법 신촌우왕갤로그로 이동합니다. 03.22 152 0
2605 일반 비전공자 생초보 입문자 점프 투 파이썬으로 하면 되나여? [1] ㅇㅇ(223.39) 03.18 499 0
2604 일반 Int로 변환했는데 이구 왜이럴까요 [3] ㅇㅇ(210.126) 03.15 235 0
2603 일반 이거 어떻게 쳐요,,? [2] ㅇㅇ(221.154) 03.13 233 1
2602 🔎질문 고수님들 대학 파이썬 수업듣는데 질문 있어서 왔습니다 ㅠㅠ [2] ㅇㅇ(39.124) 03.11 264 0
2601 일반 파이썬으로 데이터 변형 하고 있는데 [3] ㅇㅇ(221.152) 03.08 200 1
2600 일반 게임에서 마우스 좌표는 다 잘 찍히는데 키보드가 안됨 ㅇㅇ(59.20) 03.04 157 0
2598 🔎질문 누가 좀 도와줘... [2] ㅇㅇ(115.138) 02.07 268 0
2596 🔎질문 점프투파이썬 굳이 책 사야 하나요? [2] 애개뤼를쮀에에엑갤로그로 이동합니다. 24.12.23 708 0
2595 일반 파이썬 윈도우앱에 광고달아보신분..? ㅇㅇ(222.236) 24.12.18 219 0
2594 일반 파이썬 모바일 추천 좀 ㅇㅇ(110.11) 24.12.08 245 0
2593 일반 r스튜디오 도와주십쇼 형님들.. [2] ㅇㅇ(121.154) 24.12.05 302 0
2591 일반 조졌다 [1] delegen(121.181) 24.11.18 277 0
2590 🔎질문 대학 입학전에 파이썬 공부해볼라고 하는데 [2] ㅇㅇ(110.10) 24.11.17 513 0
2589 일반 파이썬 이래 배우면 되나요?? [1] ㅇㅇ(119.195) 24.11.12 471 0
2588 🔎질문 가상환경 라이브러리 글로벌 문제 ㅇㅇ(123.214) 24.11.05 227 0
2587 일반 도와주세요 고수님들 [2] ㅇㅇ(118.217) 24.11.03 353 0
2586 일반 챗GPT 개같네 [2] 초보 파갤러(119.203) 24.10.27 498 0
2585 일반 파이썬 뭐 부터 건드려야함? 정처기 보유 [1] ㅇㅇ(118.216) 24.10.24 361 0
2582 일반 점프투파이썬이랑 나도코딩 입문강의중에 뭐 봐야함? [2] ㅇㅇ(118.235) 24.10.09 560 0
2581 일반 아이패드로 파이썬 [1] 쪼물갤로그로 이동합니다. 24.10.05 300 0
2580 일반 욜로yolo 객체학습 이후에 질문이 있습니다. [1] ㅇㅇ(117.52) 24.10.05 307 0
2579 일반 파이썬 초보 책추천 [20] 쪼물갤로그로 이동합니다. 24.10.05 5695 0
2577 일반 파린이 도와주세요 ㅠㅠ [2] ㅇㅇ(106.102) 24.10.03 292 0
2576 일반 ai로 댓글 다는거 [2] ㅇㅇ(220.95) 24.09.30 304 0
2575 일반 형님들 파이선 입문을 어떻게해야 좋을까요? [4] ㅇㅇ(106.101) 24.09.26 394 0
2574 일반 질문)본인:쌩초보, 나도코딩 따라 중, 목표는 객체인식, 적용은 시골축사 [12] ㅇㅇ(211.117) 24.09.25 486 0
2572 일반 fastapi 만든사람 콜롬비아 출신 고졸임 [1] ㅇㅇ갤로그로 이동합니다. 24.09.15 340 1
2570 🔎질문 도와주세요 파이참 실행이 아예 안되요 ㅠㅠ... [2] ㅇㅇ(211.252) 24.09.02 305 0
2569 일반 pygbag 아시는 분 ㅇㅇ(183.109) 24.08.20 227 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

디시미디어

디시이슈

1/2