자료구조) 선택 정렬 (Selection Sort)
버블 정렬은 배열의 두 수를 선택한 뒤, 그 두 수가 정렬되었다면 놔두고, 아니라면 두 수를 바꾸는 방식으로 진행된다.
버블 정렬은 아래와 같은 순서로 이루어진다.
- 맨 앞과 그 다음 데이터를 비교 한다.
- 앞 데이터가 크면 swap 한다.
- 정렬이 완료되었을 시, sorted 값을 true로 변경하면서 추가 비교를 건너뛴다.
void BubbleSort(int* list, int size)
{
for (int i = size; i > 0; i--)
{
bool sorted = false;
for (int j = 0; j < i - 1; j++)
{
if (list[j] > list[j + 1])
{
std::swap(list[j], list[j + 1]);
sorted = true;
}
}
if (!sorted)
break;
}
}
댓글남기기