直接插入排序(C语言)

#include<stdio.h>
void Sort(int *a,int n)
{   
 int i,m;
 for(i=1;i<5;i++)   //第一个默认排好序,从第二个数开始
 {   
  m=a[i];    //记录要插入排序的数
  for(int j=i-1; j>=0 && m<a[j];j--)  //从i-1个元素,一直向前找,因为前面已经是排好序的,
                                     //只要找到比插入排序的数小的数,就退出这个循环
   a[j+1]=a[j];   //不断向后移动,最后把要排序的数的位置空下来
    a[j+1]=m;     //把想要排序的数插入到这个空位置,就完成了前i个数的排序
 }
   
}
int main()
{   
 int a[5]={5,3,9,6,8};
 Sort(a,5);
 for(int i=0;i<5;i++)
  printf("%d ",a[i]);
 return 0;
}
发布了36 篇原创文章 · 获赞 5 · 访问量 1002

猜你喜欢

转载自blog.csdn.net/matchless_QYW/article/details/104638235
今日推荐