프로그래밍을 공부하다 보면 기본적인 문법 이후에는 자료구조와 알고리즘을 익혀야 한다. 특히 알고리즘은 가장 처음 배우는 것은 정렬(sorting) 알고리즘들이다. 정렬 알고리즘은 주어진 배열 안에 무작위한 여러 숫자들이 존재 할 때, 이 숫자가 오름차순(또는 내림차순)으로 정렬 시키는 방법에 대한 것이다. 이를 위해서는 필연적으로 배열의 순서를 바꾸기 위한 swap함수가 사용 되게 된다. void swap(int &a, int &b) { int temp = a; a = b; b = temp; return; } swap함수의 가장 기초적인 형태는 위와 같이 하나의 변수(위에선 a)를 선택하여 임시변수temp에 저장하고, 그 변수에는 b의 값을 저장한다. 이후 b변수에 temp변수에 저장한 a의 값을 다시 ..