插入排序实际上是将每个元素提取出来插入到新序列的合适位置,最后再赋值回来.
实践过程中, 原地算法会在插入前进行移位.
// 插入排序
// C++实现
class Solution{
public:
void insertSort(vector<int>& nums){ // 原地排序
int n = nums.size();
for(int i=2; i<n; i++){
int x = nums[i];
int j = i;
while(j > 1 && x < nums[j-1]){
nums[j] = nums[j-1];
j = j - 1;
}
}
}
};