버블 정렬은 시간 복잡도가 O(n^2)인 상당히 느린 알고리듬이지만 코드가 매우 단순합니다. 기본적으로 배열의 두 수(a, b)를 선택한 뒤, 이 두 수가 정렬되어 있다면 넘어가고 아니라면 두 수를 바꾸는 방식(Swap)으로 진행됩니다.이 비교를 배열의 처음부터 끝까지 반복하면 오름차순으로 정렬할 때 가장 큰 값이 배열의 맨 마지막이 됩니다.다시 한번 비교를 진행하면 2번째로 큰 값이 가장 큰 값의 앞으로 오게됩니다.배열에 아무 변화가 없을 때까지 반복하거나 더는 비교할 수 없을 때까지 진행이 되었다면 정렬이 끝이 납니다. void BubbleSort(vector& nums) { int n = nums.size(); for (int i = n - 1; i > 0; i--) { bool swappe..