첫 노드를 삭제하기 위해 del 이름의 메모리 공간을 할당한다.
void delNode() {
node* delNode = head; //delNode 에 head 값을 넣음
}
만약 연결리스트가 만들어지지 않은 상태이면 삭제할게 없는거니까 함수를 종료한다.
if (head == NULL) {
return;
}
만약 head 가 NULL 이 아닌 경우 head를 그 다음 노드로 옮겨준다.
head = head->next;
delNode 동적 메모리를 해제해서 첫 번째 노드 5번을 삭제한다.
free(delnNode);
<전체 코드>
typedef struct node {
int value;
struct node* next;
}node;
node* head = NULL;
void delNode() {
node* delNode = head; //delNode 에 head 값을 넣음
if (head == NULL) { //연결리스트가 구성된 상태인지 확인하고
return; //구성이 안된 상태면 삭제할게 없으니까 함수 종료
}
head = head->next;
free(delNode);
}
'자료구조&알고리즘' 카테고리의 다른 글
[단일 연결 리스트 ] 특정 값 노드 검색 (0) | 2024.05.25 |
---|---|
[단일연결 리스트] 전체 노드 삭제 (0) | 2024.05.25 |
[단일 연결 리스트] 노드 맨 뒤 삽입 (0) | 2024.05.19 |
[단일 연결 리스트 ] 노드 순회(traversal) (0) | 2024.05.19 |
[단일 연결 리스트 2] 노드 맨 앞 삽입(Insertion) | 스택 (stack) (0) | 2024.05.18 |