알고리즘 & 자료구조
[알고리즘]재귀
인디아나쥰이
2021. 1. 21. 14:18
재귀(Recursion)
함수가 본인 스스로를 호출해서 사용하는것
#include <stdio.h>
void draw(int h);
int main(void)
{
int height = 3;
// scanf("%d", &height);
draw(height);
}
/*
void draw(int h)
{
//높이가 h인 피라미드 그리기
for(int i = 1; i <= h; i++)
{
for(int j = 1; j <= i; j++)
{
printf("#");
}
printf("\n");
}
}
*/
//재귀 이용한 함수
void draw(int h)
{
if(h == 0)
{
return;
}
draw(h-1);
for(int i = 0; i < h; i++)
{
printf("#");
}
printf("\n");
}
재귀를 처음 접한다면 코드 소스만 보고는 혼란스러울수 있다.
순서에 따라 실행 된다는것을 생각하면서
draw함수 안에 draw(h-1)을 작성해 정리해보면 어떤식으로 동작하는지 조금 더 쉽게 이해할 수 있다.
728x90
반응형