排序算法之冒泡排序

来源:互联网 发布:pc网络电视直播软件 编辑:程序博客网 时间:2024/06/05 16:17

冒泡排序

思想:冒泡排序的思想是通过比较两个相邻数的大小,逐渐将大数或者小数往边界移动。类似于水中的气泡向水面上移动。

//给定数组冒泡排序,每次冒泡排出最大的数

 

#include <stdio.h>

 

int main()

{

         inti,j,t;

         inta[10]={1,23,41,31,45,767,45,90,6,88};

 

         for(i=0;i<10;i++)

                   for(j=0;j<10;j++)

                   {

                            if(a[j]>a[j+1])

                            {        t=a[j];

                                     a[j]=a[j+1];

                                     a[j+1]=t;

                            }

                            if(a[j]<=a[j+1])

                            {

                                     a[j]=a[j];

                                     a[j+1]=a[j+1];

                            }

                   }

         printf("\nThesorted numbers are:\n");

         for(i=0;i<10;i++)

         {       

                   printf("%5d",a[i]);

         }

         printf("\n\nend\n");

}

 

 

//给定数组冒泡排序,每次冒泡排出最小的数

 

#include <stdio.h>

 

int main()

{

         inti,j,t;

         inta[10]={1,23,41,31,45,767,45,90,6,88};

 

         for(i=0;i<10;i++)

                   for(j=0;j<10;j++)   

                   {

                            if(a[j]<a[j+1])    //只需改变“<,>”即可将较小的数放在后边,从而实现从大到小排列

                            {        t=a[j];

                                     a[j]=a[j+1];

                                     a[j+1]=t;

                            }

                            if(a[j]>=a[j+1])

                            {

                                     a[j]=a[j];

                                     a[j+1]=a[j+1];

                            }

                   }

         printf("\nThesorted numbers are:\n");

         for(i=0;i<10;i++)

         {       

                   printf("%5d",a[i]);

         }

         printf("\n\nend\n");

}

原创粉丝点击