/*
* sort2.c
*
* Created on: Nov 8, 2012
* Author: fsxchen
*/
#include
int * input(int n);
int * sort(int *num, int len);
int *input(int n)
{
int i;
int num[n];
for(i = 0; i < n; ++i)
{
printf("[%d]:Please input: ", (i + 1));
scanf("%d", &num[i]);
}
return num;
}
int *sort(int *num, int len)
{
int key, i, j;
for(i = 1; i <= len; ++i)
{
key = num[i];
for(j = i - 1; j >= 0; --j)
{
if(key < num[j])
{
num[j + 1] = num[j];
num[j] = key;
}
}
}
return num;
}
void ArrPrintf(int *num, int len)
{
int i;
for(i = 0; i < len; ++i)
printf("%d\t", num[i]);
printf("\n");
}
int main()
{
int len;
int *num;
int *newnum;
printf("please input the totle num:");
scanf("%d",&len);
num = input(len);
newnum = sort(num, len);
ArrPrintf(newnum, len);
return 0;
}
插入法排序的实现,主要是一个key,将要插入的值放入key中,然后和之前已经排好序的数组作比较。找到合适的位置插入。