#include #include #include #include #include #include #include #include using namespace std; /* * function : implement insert sort * param nums : the vector to be sorted * param comp_count : count of comparisons * param move_count : count of moves * return : --- */ void InsertSort(vector &nums, long long &comp_count, long long &move_count) { for (int i = 1; i < static_cast(nums.size()); i++) { int key = nums[i]; int j = i - 1; while (j >= 0 && (comp_count++, nums[j] > key)) { nums[j + 1] = nums[j]; move_count++; j--; } nums[j + 1] = key; move_count++; } }