国内最全IT社区平台 联系我们 | 收藏本站
华晨云阿里云优惠2
您当前位置:首页 > php开源 > php教程 > 冒泡排序

冒泡排序

来源:程序员人生   发布时间:2017-03-16 08:18:25 阅读次数:3553次

核心内容:
1、冒泡程序C语言版和Java版


好长时间没有写博客了,写博客的时候总是可让1个人静下心来,今天学习的是冒泡排序。
冒泡排序的原理以下图所示:
这里写图片描述
C语言版代码示例:

# include <stdio.h>


void sort(int *a, int len)
{
     for (int i=1; i<len; i++)
     {
         for (int j=0; j<len-i; j++)
         {

             if (a[j] > a[j+1])
             {
                 int tmp;
                 tmp = a[j];
                 a[j] = a[j+1];
                 a[j+1] = tmp;
             }
         }
     }

     for (int k=0; k<len; k++)
     {
         printf("%d\t",a[k]);
     }

}
int main()
{
     int a[5] = {10,20,-10,-50,60};

     sort(a,5);

     return 0;
}

运行结果:
这里写图片描述
Java语言代码示例:

public class App1 
{
    public static void main(String[] args)
    {
       int[] a = {10,20,60,-90,70};

       sort(a,a.length);//数组的名字实际上是数组的首元素的地址

    }
    public static void sort(int a[],int len)//a在这里面实际上是1个指针变量
    {
           for (int i=1; i<len; i++)  //5个数需要比较4轮
           {
               for (int j=0; j<len-i; j++)//每轮需要比较n-i次
               {
                   if (a[j] < a[j+1])
                   {
                       int tmp;
                       tmp = a[j];
                       a[j] = a[j+1];
                       a[j+1] = tmp;
                   }
               }       
           } 
           for (int k=0; k<len; k++)
           {
               System.out.println(a[k]);
           }
    }
}

运行结果:

70
60
20
10
⑼0
生活不易,码农辛苦
如果您觉得本网站对您的学习有所帮助,可以手机扫描二维码进行捐赠
程序员人生
------分隔线----------------------------
分享到:
------分隔线----------------------------
关闭
程序员人生