쌓고 쌓다
싱글, 더블 링크드 리스트 출력(반복문, 재귀) 본문
반복문 정방향 출력 ( 싱글 + 더블 )
void Print()
{
Node* tmp = head;
while (tmp != NULL)
{
printf("%d->", tmp->data);
tmp = tmp->next;
}
}
반복문 역방향 출력 (더블)
void ReversePrint()
{
Node* tmp = head;
if(tmp==NULL)
return;
while (tmp->next != NULL)
{
tmp = tmp->next;
}
while (tmp != NULL)
{
printf("%d->", tmp->data);
tmp = tmp->prev;
}
}
재귀 함수 정방향 출력 ( 싱글 + 더블 )
void Print(Node* p)
{
if (p != NULL)
{
printf("%d->", p->data);
Print(p->next);
return;
}
return;
}
재귀 함수 역방향 출력 ( 싱글 + 더블 )
void ReversePrint(Node* p)
{
if (p != NULL)
{
ReversePrint(p->next);
printf("%d->", p->data);
return;
}
return;
}
'알고리즘 > 자료구조' 카테고리의 다른 글
스택 구현 (배열, 리스트) (0) | 2022.10.20 |
---|---|
더블 링크드 리스트 삽입 (0) | 2022.10.06 |
싱글 링크드 리스트 뒤집기 (0) | 2022.10.04 |
싱글 링크드 리스트 삽입 3가지 방법 (0) | 2022.09.28 |
[자료구조] AVL 트리와 탐색 (0) | 2022.06.04 |
Comments