[c언어] 연결 리스트
C 언어에서 연결 리스트는 데이터를 동적으로 저장하기 위한 효율적인 방법입니다. 연결 리스트는 각 데이터 요소가 이전 요소나 다음 요소에 대한 포인터를 가지고 있는 자료 구조입니다. C 언어에서 연결 리스트를 사용하는 방법을 알아보겠습니다.
연결 리스트 구조체 정의
#include <stdio.h>
#include <stdlib.h>
typedef struct Node {
int data;
struct Node* next;
} Node;
위의 코드에서 Node
구조체는 데이터와 다음 노드에 대한 포인터를 가지고 있습니다.
연결 리스트 노드 추가
Node* addNode(Node* head, int data) {
Node* newNode = (Node*)malloc(sizeof(Node));
newNode->data = data;
newNode->next = head;
return newNode;
}
위의 코드에서 addNode
함수는 새로운 노드를 생성하고 리스트의 헤드로 추가하는 역할을 합니다.
연결 리스트 출력
void printList(Node* head) {
Node* current = head;
while (current != NULL) {
printf("%d ", current->data);
current = current->next;
}
}
위의 코드에서 printList
함수는 연결 리스트의 값을 출력합니다.
C 언어를 사용하여 간단한 연결 리스트를 구현하는 방법에 대해 알아보았습니다. 연결 리스트는 데이터를 삽입하고 삭제하기 용이하며, 동적으로 크기를 조절할 수 있어 메모리를 보다 효율적으로 활용할 수 있습니다.
참고문헌: GeeksforGeeks - Linked List in C/C++