- 插入排序(Insertion-Sort)的算法描述是一种简单直观的排序算法。它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。
- 排序思路:
- 假设按照升序排序
- 1.从索引为1的元素开始向前比较, 一旦前面一个元素大于自己就让前面的元素先后移动
- 2.直到没有可比较元素或者前面的元素小于自己的时候, 就将自己插入到当前空出来的位置
int main()
{
int nums[5] = {3, 1, 2, 0, 3};
int len = sizeof(nums) / sizeof(nums[0]);
for (int i = 1; i < len; i++)
{
int temp = nums[i];
int j = i;
while(j > 0){
if(temp < nums[j - 1]){
nums[j] = nums[j - 1];
}else{
break;
}
j--;
}
nums[j] = temp;
}
}
int main()
{
int nums[5] = {3, 1, 2, 0, 3};
int len = sizeof(nums) / sizeof(nums[0]);
for (int i = 1; i < len; i++)
{
for(int j = i; j > 0; j--)
{
if(nums[j-1] > nums[j]){
int temp = nums[j];
nums[j] = nums[j - 1];
nums[j - 1] = temp;
}else{
break;
}
}
}
}