烟酒生-

导航

几种常用算法之_____________一、冒泡排序算法原理及实现

算法描述
 
设待排序记录序列中的记录个数为n
 
一般地,第i趟起泡排序从1到n-i+1
 
依次比较相邻两个记录的关键字,如果发生逆序,则交换之
 
其结果是这n-i+1个记录中,关键字最大的记录被交换到第n-i+1的位置上,最多作n-1趟。
 
 
 
 
示例性代码如下:
 
#include<stdio.h>
int main(){
    int a[10],i,j,t;
    printf("please input 10 integer numbers:\n");
    
    
    //输入十个整数到数组a中 
    for(i=0;i<=9;i++)
       scanf("%d",&a[i]);
       
       
       for(i=9;i>=1;i--)    
          for(j=0;j<=i-1;j++)   // 每冒泡一遍,i前移一位,只到a[1] ,到a[1]时,不再前移,执行a[0]和a[1]冒泡。最后结束。 
         
         //冒泡交换次序 
          if(a[j]>=a[j+1])
          {
              t=a[j];
              a[j]=a[j+1];
              a[j+1]=t;            
                          
             }
    
    //输出结果 
    for(i=0;i<=9;i++)
    printf("%d  ",a[i]);
    
    //程序暂停,观察结果 
     system("pause");
    return 0;

    }

 

posted on 2014-07-21 16:51  烟酒生-  阅读(106)  评论(0)    收藏  举报