void insertsort(vector<int> & nums){
int exchange;
for(int i=1; i<nums.size(); i++){
// 类似冒泡排序,只是冒泡的方向是,从右向左,结束的条件是已排序的子数组中左边的数要小于循环的起始数nums[i]
for(int j=i; j>=1; j--){
// printf("nums[i] = %d , nums[j] = %d\n", nums[i], nums[j]);
if(nums[j-1] < nums[j]){
continue;
}
exchange = nums[j];
nums[j] = nums[j-1];
nums[j-1] = exchange;
}
for(auto val : nums){
printf("%d\t",val);
}
printf("\n");
}
}
插入排序
最新推荐文章于 2023-09-23 17:47:53 发布