C프로그래밍/개인 공부
C언어 - 연결리스트
연결리스트(linked list) 지금까지는 다량의 데이터를 '배열'에 저장했었다. 배열을 사용하면 쉽고 빠르게 구현이 가능하지만, 크기가 고정되기때문에 크기를 늘이거나 줄이는 동적인 활동을 하지 못하는 단점이 있다. 예를 들어, 만약 a[3]에 데이터를 삽입하려면 a[3]부터 모든 데이터를 뒤로 밀어서 빈 공간을 만들어야한다. 이렇듯, 기존의 데이터들을 이동시켜야한다. 연결 리스트(linked list)는 이런 단점을 극복할 수 있다. 연결리스트는 각각의 원소가 포인터를 사용해서 다음 원소의 위치를 가르킨다. 즉, 포인터를 사용해서 자료들을 연결한다. 이런식으로 A박스에 있는 원소가 포인터로 B를 가르키고 B에 있는 원소가 포인터로 C를 가르킨다. 그래서 데이터의 삭제와 삽입이 쉽다 데이터를 연결하는 ..