본문 바로가기

sort

[정렬 알고리즘] 선택 정렬(Selection Sort) 선택 정렬은 정렬 알고리즘의 한 방법입니다.버블 정렬과 마찬가지로 간단한 정렬 알고리즘에 속합니다.가장 작은(혹은 큰) 값을 찾아서 맨 앞(혹은 맨 뒤)로 차곡차곡 이동시키는 방법입니다.기본적으로 생각할 수 있는 방법으로 정렬합니다.선택 정렬의 코드는 다음과 같습니다. #include using namespace std; template void MySwap(T& a, T &b) { T tmpVal = a; a = b; b = tmpVal; } template void SelectionSort(T* arVal, int nCount) { int maxidx; int i, j; for (i = nCount - 1 ; i >= 0 ; --i) { for (maxidx = i, j = i - 1 ; j >= 0.. 더보기
[정렬 알고리즘] 버블 소트(거품정렬) 버블 소트는 정렬 알고리즘의 한 종류입니다. 정렬 알고리즘은 무작위로 있는 정보를 순차적으로 재배치 시키는 것이 목적입니다. 버블 소트는 각종 정렬 알고리즘 중에서도 기본으로 여겨지는 알고리즘입니다. 정렬 알고리즘은 퀵 정렬, 삽입 정렬, 힙 정렬, 선택 정렬 등 여러가지 방법이 존재합니다. 보통은 속도가 빠른 퀵소트를 많이 사용합니다. 퀵소트를 구현하는데는 재귀 함수 방식이 많이 활용됩니다. 재귀 함수에 대한 설명은 아래 링크에서 확인 가능합니다.2014/12/04 - [Programming/C&C++] - 재귀 함수 & 재귀적 함수호출(recursive function call)그럼 본격적으로 버블 소트에 대해서 알아보도록 하겠습니다. 만약 버블 소트의 코드만 필요하다만 가장 하단의 코드를 참조하시면.. 더보기