배열에서 최소값(혹은 최대값)을 반복적으로 찾아 정렬하는 알고리즘이다.
시간복잡도 최선, 평균, 최악 모두 $O(n^2)$에 해당하는 비효율적인 알고리즘이다. 정렬여부와 상관없이 모든 경우의 수를 전부 확인한다.
동작 방식은 3단계로 구성된다.