冒泡法与选择法

#冒泡法排序
相邻的数两两比较交换,小升大沉
若有n个数,则要进行n-1趟比较,第一趟比较中要进行n-1次两两比较,在第j趟比较中要进行n-j次两两比较。

for(i=0;i<n-1;i++)
   for(j=0;j<n-1-i;j++)
      if(a[j]>a[j+1])
         {
         t=a[j];
         a[j]=a[j+1];
         a[j+1]=t;
   }

#选择法排序
选最小数排在最前
若有n个数,第一轮选择在a[1]~a[n-1]中比较,选最小的与a[1]交换,在第j轮选择中,在a[j]~a[n-1]中选最小的与a[j]交换。

for(j=0;j<=n-1;j++)
{
  k=j;
  for(i=j+1;i<n;i++)
     if(a[i]<a[k])
       k=i;
       t=a[k];a[k]=a[j];a[j]=t;
  }

#排序法相对更有效率。

发布了8 篇原创文章 · 获赞 0 · 访问量 4004

猜你喜欢

转载自blog.csdn.net/dregs_/article/details/86250137