연결리스트

    | 니앙팽이 - 자료구조| 1 | 연결 리스트 노트

    배열과 연결리스트 Quest ❗ 배열과 연결리스트의 차이 ___ 배열 연결리스트 형식 정적 동적 접근 random Access : O(1) Sequential Access : O(N) 삽입 맨앞 O(N) 맨뒤 O(1) 맨앞O(1) 맨뒤 O(N) 삭제 맨앞 O(N) 맨뒤 O(1) 맨앞O(1) 맨뒤 O(N) 연결리스트 1. 더미노드 ❗ 더미노드는 왜 쓰는건가? 연결리스트(더미노드 없음) 구현 - 2. 원형 연결리스트 ❗ 작동방식 👉 구성은? list->tail 원형리스트의 마지막임 list->tail->next (내지는 head) 원형리스트의 시작임 👉 복잡도는? ___ 연결리스트 형식 동적 접근 Sequential Access : 맨앞 : O(1) 맨뒤 : O(N) 삽입 맨뒤 O(1) 삭제 맨앞O(1) 원..

    |자료구조| 1 | Double LinkedList_3 | 이중 연결 리스트

    양방향 연결 리스트 구현 Visual Studio 솔루션 구성 구현부 노드 - 헤더 : Node.h #pragma once class Node { friend class D_List; protected: int data; Node* next; Node* prev; }; 양방향 연결 리스트 - 헤더 : D_List.h #pragma once #include"Node.h" class D_List { friend class Node; private: Node* mHead; Node* mTail; Node* mCur; int mLength = 0; public: D_List(); int length(); void insert(int); int front(); int back(); void pop_front();..

    |자료구조| 1 | Circular LinkedList_2 | 원형 연결 리스트

    원형 연결 리스트 구현 Visual Studio 솔루션 구성 구현부 노드 - 헤더 : Node.h #pragma once #include "CircuitLinkedList.h" class Node { friend class CircuitLinkedList; protected : int data; Node* next; }; 원형 연결 리스트 - 헤더 : CircuitLinkedList.h #pragma once #include "Node.h" class CircuitLinkedList { friend class Node; private : //멤버변수 Node* tail; int length; public : //매서드 CircuitLinkedList(); void LInsert(int data); int..

    |자료구조| 1 | LinkedList_1 | 연결리스트(더미노드 없음)

    연결리스트 구현 Visual Studio 솔루션 구성 구현부 헤더 : CrocusLinkedList.h #pragma once class CrocusLinkedList { private : int m_data = 0; CrocusLinkedList* next; public : CrocusLinkedList(); void SetData(int _data); int GetData(); void Linking(CrocusLinkedList* _Node1); void SearchAll(CrocusLinkedList* head); }; 메소드 : CrocusLinkedList.cpp #define _CRTDBG_MAP_ALLOC #include "CrocusLinkedList.h" #include #include..