/*直接插入排序
1、查找元素在链表中的插入位置
2、将插入位置后面的元素后移
3、将元素复制到插入的位置
肖煜
*/
#include <stdio.h>
#include <stdlib.h>
#define N 10
void InsertSort (int A[],int n){
int i,j;
for(i=2;i<n;i++)
if(A[i]<A[i-1]){
A[0] = A[i];
for(j=i-1;A[0]<A[j];--j)
A[j+1] = A[j];
A[j+1] = A[0];
}
}
int main()
{
int m = 0;
int b[N] = {21,55,25,36,78,63,89};
printf("##################################\n\n");
printf("排序前的数据是:\n21 55 25 36 78 63 89\n");
InsertSort(b, N);
printf("排序后的结果是:\n");
for(m = 0; m < N; m++)
{
printf(" %d ", b[m]);
}
printf("\n\n=============================\n\n");
return 0;
}
还没有评论,来说两句吧...