본문 바로가기

LinkedList2

[C언어] Heap기반 연결리스트(Linked list) 연결리스트 목차 연결리스트 구조체 선언 연결리스트 CRUD 이중 연결 리스트 이중 연결 리스트 CRUD Heap으로 구현한 연결리스트 Heap으로 구현한 이중 연결 리스트 동적 할당 기반 연결리스트 동적할당을 하면 Heap 공간에 데이터가 저장된다. 이전에 다뤘던 배열기반 연결리스트는 데이터 공간을 미리 선언해두고 이용했기 때문에 데이터의 수를 삽입/삭제할 때 유동적으로 융통성있게 활용하는 것이 어려웠다. 그래서 이번에는 calloc을 이용해서 연결리스트를 구현해보고자한다. 동적할당이기 때문에 자료를 삭제할 때 free를 해주어서 메모리 공간을 다시 확보해줘야 하는 것을 기억해야한다. C언어  동적 할당 기반 연결리스트 구현 간단히 새 노드를 삽입하여 연결하는 부분만 살펴보면 다음과 같다. //새노드 .. 2022. 7. 12.
[C언어] 배열 기반 연결리스트(Linked List) 연결리스트 목차 연결리스트 구조체 선언 연결리스트 CRUD 이중 연결 리스트 이중 연결 리스트 CRUD Heap으로 구현한 연결리스트 Heap으로 구현한 이중 연결 리스트 연결리스트 배열의 경우 자료를 읽기는 쉽지만 삽입/삭제는 어렵다. 많은 자료의 이동을 동반하기 때문이다. 이에 반해 연결리스트는 자료를 중간에 삽입하고 삭제하는데 꽤 편리하다. 연결리스트는 next라는 자기참조객체를 통해서 구현된다. 개체 하나를 삽입하고 싶다면 삽입할 위치의 전의 next 연결을 끊고 삽입하려는 개체와 연결한다. 삽입한 개체는 다음의 개체에 next연결을 넣는다. 삭제의 경우는 이전과 다음의 개체를 연결하고 삭제하려는 개체의 연결을 끊으면 된다. C언어 배열 기반 연결리스트 구현 C언어를 이용해서 배열기반의 연결리스트.. 2022. 7. 11.