码迷,mamicode.com
首页 > 编程语言 > 详细

选择排序法

时间:2015-04-07 20:15:21      阅读:151      评论:0      收藏:0      [点我收藏+]

标签:排序   选择排序   

我要用这个博客记录我的菜鸟成长之路!!

以前只会一种快速排序的排序算法,觉得自己好low技术分享,今天学习了一种插入排序,嗯,只要认真看几分钟,排序还是不难的!

小二,上代码

void InsertSort(int a[],int n)

{

 int i,j,tmp;

 for(i=1;i<n;i++)

 {

  tmp=a[i];  // 将a[i]存在变量tmp里面便于比较

  for(j=i-1;j>=0 && a[j]>tmp;j--)   // 因为i从1开始,所以每次插入一个a[i]后,a[0~i]的数都是有序的

  {

   a[j+1]=a[j];  // 如果有a[j]>tmp,就将所有大于tmp的向后移

  }

  a[j+1]=tmp;   // 将a[i]插入向后移动后的空位中

 }

}

插入排序的思想是,从需要排序的数组a[i]中挨个取元素(最外面的for循环就干的这个),然后将其插入到a[0~i]中,可以知道,取元素插入的时候,a[0~i]已经是有序的了,因为从a[0]开始就是在有序插入了

本文出自 “蓝域小兵” 博客,请务必保留此出处http://javavwv.blog.51cto.com/8832079/1629417

选择排序法

标签:排序   选择排序   

原文地址:http://javavwv.blog.51cto.com/8832079/1629417

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!