본문 바로가기

자료구조&알고리즘

(18)
[단일 연결 리스트 ] 노드 순회(traversal) 노드 순회는 트리 구조에서 각 노드를 한 번씩 방문하는 과정이다. head 는 첫 번째 노드를 가리키고, 노드의 마지막 값에서는 NULL 이 들어있다. 노드를 모두 순회하기 위해 현재 노드 위치를 가리키는 curNode 를 선언한다. typedef strcut{ int value; struct node* next;}node* head = NULL; // 초기값을 NULL로 설정void display() { node* nurNode;} head 에 첫 번째 노드의 주소값이 저장되어 있으니까 curNode 에 head 값을 넣는다. curNode = head; 마지막 노드 전까지 순회하려면 포인터가 NULL 을 가리키지 않을 때까지 노드를 순회하고 값을 출력하면 된다. 또한 첫 번째 노드의 값을 출 그 다음..
[단일 연결 리스트 2] 노드 맨 앞 삽입(Insertion) | 스택 (stack) 단일 연결 리스트에서 노드를 맨 앞에 추가하는 방법에 대해 알아보자. 노드를 맨 앞에 삽입한다는 것은 리스트의 가장 처음 위치에 새로운 노드를 추가하는 작업을 의미한다. 이를 통해 새 노드는 기존 첫 번째 노드가 되고, 이전 첫 번쨰 노드는 새 노드 뒤로 밀리게 된다. 노드 맨 앞 삽입은   한쪽 방향으로 데이터의 삽입(push)과 삭제(pop)가 이루어지는 스택(stack) 을 구현할 때 사용하고 스택은 LIFO(Last In, First Out) 구조를 따른다.    1. 노드 구조체 선언 연결리스트의 각 노드는 값을 저장할 공간과 포인터를 저장할 공간이 한 세트로 필요하기 때문에 구조체를 할당해준다. typedef struct node { int data; struct Node* nex..