void insertSort(vector& nums) { //像打牌一样,新的牌在已经排序好的牌里面找到自己的位置 int n = nums.size(); for (int i = 1; i < n; ++i) { //不断保证0-1有序、0-2有序、0-3有序 int cur = i; while (cur >= 1 && nums[cur] < nums[cur - 1]) { swap(nums[cur], nums[cur - 1]); //如果无序,则交换 --cur; } } } int main() { vector nums = { 1, 2, 4, 5, 3, 3, 8, 6 }; insertSort(nums); for (int& i : nums) cout << i << " "; }



