算法分析——插入排序
算法分析——插入排序
插入排序是将前 i 个排序(i 从1开始),使其成为一个有序表,然后将 i +1,与之前排好序中的进行比较,使其成为 i+1 个元素的有序表,然后继续,直到全部排完。
C语言代码
include <stdio.h>
int A[100];
void insertsort(int[],int n)
{
for (int i=1;i<n;i++)
{
int j = i-1;
int temp = A[i];
while (j>=0&&A[j]>temp)
{
A[j+1] = A[j];
j--;
}
A[j+1] = temp;
}
} //插入排序是将数与他之前的书对比,每次移动一个直到前面的数都比其小
int main()
{
int i,n;
printf("请输入数字个数:\n");
scanf("%d",&n);
printf("请输入%n个数字:\n",n);
for(int j=0;j<n;j++)
scanf("%d",&A[j]);
insertsort(A,n);
printf("排好的数组是");
for(i = 0;i < n;i++)
printf("%d ",A[i]) ;
return 0;
}