정해진 특정한 기능을 수행하는 모듈을 의미하며 함수를 적절히 활용하면 하나의 문제를 잘게 분해할 수 있다. 예를들어 이진 탐색 트리는 삽입, 삭제, 순회 등 다양한 함수의 집합으로 구성된다. 만약 사용자 정의 함수가 없다면 오직 메인 함수에서 모든 알고리즘을 처리해야 하는데 이는 작업의 효율성을 저하시킬 수 있다. 또한 함수는 각각의 모듈로서 쉽게 수정되고 보완될 수 있다는 장점이 있다. (즉 매인함수의 크기를 줄여주고 특정한 함수를 분해해서 나중에 합친다. 매인함수가 짧고 다른함수가 많을수록 더욱 더 잘 짜여진 프로그램이라고 할 수 있다. 더 가독성이 좋은 프로그램이라고 할 수 있다.) #ifdef _MSC_VER #define _CRT_SECURE_NO_WARNINGS #endif #include /..