c语言中写了一个insertion sort结果是对的 但是与网上大多数的代码不太一致 不知道是否写的思路算是insertion sort

img

过程输出

img

img

c语言中写了一个insertion sort结果是对的 但是与网上大多数的代码不太一致 不知道是否写的思路算是insertion sort
刚刚上传错了图片 不好意思

你这个应该是选择排序:
在从头到尾 遍历,先假设第一个数是最小值,然后看后面有没有更小的,如果有就记录下标,循环结束时交换

插入排序是指,它的基本思想是将一个记录插入到已经排好序的有序表中。一般是对于每个元素,遍历它之前的所有元素,第一个比他小/大的数,就进行插入(这里还涉及到,把它插入位置以后的元素正题后移一位)

选择排序,供参考:

#include<stdio.h>
int main()
{
    int i,j,min,mi,lab;
    int num[10]={2,11,4,23,124,0,9,-1,8,8};
    int number = 9;
    for(j=0;j<=number-1;j++)
    {
        min = j;
        for(i=j+1;i<=number;i++)
        {
            if(num[i] < num[min])
               min = i;
        }
        if(min != j)
        {
            lab = num[j];
            num[j]=num[min];
            num[min]=lab;
        }
    }
    for(i=0;i<=number;i++)
        printf("%d ",num[i]);
    
    return 0;
}