#include <stdio.h>
#include <stdlib.h>
/*插入排序*/
int* Insertsort(int *list,int size)
{
int i,j;
for(i = 2;i <= size;i++)
{
list[0] = list[i];
for(j = i-1;list[0] < list[j];j--)
list[j+1] = list[j];
list[j+1] = list[0];
}
return list;
}
int main(int argc, char const *argv[]) {
int size,i;
int *list;
printf("請輸入數組大小:");
scanf("%d",&size);
list = (int*)malloc(sizeof(int)*(size+1));
printf("請輸入%d個數:\n",size);
for(i = 1;i <= size;i++)
scanf("%d",&list[i]);
list = Insertsort(list,size);
printf("排序後:\n");
for(i = 1;i <= size;i++)
printf("%d%c",list[i]," \n"[i == size]);
return 0;
}
王道考研 ++++ 直接插入排序
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.