[讨论]关于插入排序法的实现
插入排序法:輸入一个個未排序的數字序列,輸出已排序的數字序列。
想法是一個一個插入已排序的序列,到正確的位置。
每次插入時,由後往前一個一個比較,直到正確位置。
我在网上找的插入排序法的例子不太能看懂:
#include "stdio.h"
#include "conio.h"
main()
{
int a[10],r[11];
int *p;
int i,j;
for(i=0;i<10;i++)
{
p=&a[i];
printf("please scan the NO:
%d\n",i);
scanf("%d",p);
r[i+1]=a[i];
}
r[0]=1;
for(i=2;i<=10;i++)
{
r[0]=r[i];
j=i-1;
while(r[j]>r[0])
{
r[j+1]=r[j];
j--;
}
r[j+1]=r[0];
}
for(i=1;i<=10;i++) {p=&r[i];printf("form min to max the NO: %d value=%d\n",i,*p);}
getch();
}
谁能给详细分析下这个排序法的用法???