有趣的冒泡排序

作者在 2011-03-24 12:54:12 发布以下内容
想必大家都学过冒泡排序,假如给一个数组A,他有N个元素,
如果要求对他从小到大排列,则冒泡排序的函数可以这样写:
void sort1(int *A,int N)
{
 int i,j,tmp;
 for(i=0;i<N-1;i++)
  for(j=0;j+1<N-i;j++)
   if(a[j]>a[j+1])
   {
    tmp=a[j];
    a[j]=a[j+1];
    a[j+1]=tmp;
   }
}
其实冒泡排序还有一种形式,在这里与大家分享一下
 
void sort2(int *A,int N)
{
 int i,j,tmp;
 for(i=0;i<N;i++)
   for(j=i+1;j<N;j++)
     if(a[i]>a[j])
    {
       tmp=a[i];
       a[i]=a[j];
       a[j]=tmp;
    }
}
细心的路人会发现,其实方法一和方法二是相逆的,这里就不多做解释啦。
 
默认分类 | 阅读 982 次
文章评论,共2条
baijingchao
2011-04-04 20:32
1
这是选择排序吧!
尤慕思(作者)
2011-04-05 17:52
2
<div class="quote"><span class="q"><b>baijingchao</b>: 这是选择排序吧!</span></div>我也不知道,先不管名字了,能用就行,呵呵<img src="image/face/2.gif" class="face">
游客请输入验证码
浏览70871次
最新评论