#include #include #include using namespace std; /* * function : implement bubble sort * param nums : the vector to be sorted * param comp_count : count of comparisons * param move_count : count of moves * return : --- */ void BubbleSort(vector &nums, long long &comp_count, long long &move_count) { bool swapped; for (int i = 0; i < static_cast(nums.size()) - 1; i++) { swapped = false; for (int j = 0; j < static_cast(nums.size()) - 1 - i; j++) { comp_count++; if (nums[j] > nums[j + 1]) { swap(nums[j], nums[j + 1]); move_count += 3; // std::swap is 3 moves swapped = true; } } if (!swapped) { break; } } }