过程输出
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;
}