CH 04 - 1 연결리스트의 개념

honeyricecake·2022년 1월 27일
0

자료구조

목록 보기
8/36

사실 연결리스트는 이전에
https://velog.io/@honeyricecake/%EC%97%B0%EA%B2%B0%EB%A6%AC%EC%8A%A4%ED%8A%B8
이렇게 공부한 적이 있어서 처음부터 끝까지 다 정리하기보다는
몇가지 얻은 것을 정리해보았다.

1.head == NULL, tail == NULL, cur == NULL로 정의함으로서 현재 데이터가 저장되어있는가 아닌가 등의 정보를 얻을 수 있다.
예를 들어

/*** 노드의 추가과정 ***/
		newNode = (Node*)malloc(sizeof(Node));
		newNode->data = readData;
		newNode->next = NULL;

		if(head == NULL)
		{
			head = newNode;
			tail = newNode;
		}
		else
		{
			newNode->next = head;
			head = newNode;
		}

이 코드에서도 헤드에 저장이 되어있나 없나에 따라 수행되는 코드가 다른데 이를 헤드가 NULL이냐 아니냐로 구분한다.

  1. 자료구조를 공부할 때는 그림을 적극적으로 활용하도록 하자.
    이해도가 훨씬 높아질 것이다.

위의 코드 및 연결리스트의 삭제 과정을 그림으로 표현한 것이다.
코드의 과정을 이해하는데 보통 글을 썼는데 그림이 더 직관적임이 확실히 와닿았다.

배운 걸 가지고 이후 진도를 나가며 더욱 많은 것을 얻어갈 수 있기를 바라는 바이다.

0개의 댓글