728x90
어떤 노드 뒤에 새로운 노드 삽입하기
Node *tmp = (Node *)malloc(sizeof(Node));
tmp->data = data_to_store;
tmp->next = prev->next;
prev->next = tmp;
insert_after()
// 삽입에 성공하면 1, 아니면 0을 반환
int add_after(Node *prev, char *item)
{
if (prev == NULL)
return 0;
Node *tmp = (Node *)malloc(sizeof(Node));
tmp->data = item;
tmp->next = prev->next;
prev->next = tmp;
return 1;
}
첫번째 노드의 삭제
Node * remove_first()
{
if (head == NULL)
return NULL;
else
{
Node *tmp = head;
head = head->next;
return tmp;
}
}
어떤 노드의 다음 노드 삭제하기
Node *remove_after(Node *prev)
{
Node *tmp = prev->next;
if (tmp == NULL)
return NULL;
else
{
prev->next = tmp->next;
return tmp;
}
}
연결리스트 순회하기
Node *find(char *word)
{
Node *p = head;
while (p != NULL)
{
if (strcmp(p->data, word) == 0)
return p;
p = p->next;
}
return NULL;
}
'알고리즘, 자료구조 > 개념정리' 카테고리의 다른 글
[C][강의정리] 큐 개념과 구현 (1) (0) | 2022.07.14 |
---|---|
[C][강의정리] 연결 리스트 개념과 기본 동작들 (5) (0) | 2022.07.12 |
[C][강의정리] 연결 리스트 개념과 기본 동작들 (3) (0) | 2022.07.12 |
[C][강의정리] 연결 리스트 개념과 기본 동작들 (2) (0) | 2022.07.12 |
[C][강의정리] 연결 리스트 개념과 기본 동작들 (1) (0) | 2022.07.12 |