zoukankan      html  css  js  c++  java
  • 冒泡排序算法。

                                                                                          冒泡排序算法

    题目: 给定7个int类型的数,用冒泡排序实现出来。

     code:

      public class Maopaopaixu {
        public static  void fun()
        {
            int arr[] ={9,8,6,1,5,3,2};
            System.out.println("数组排序前的顺序为:");
            for(int i=0;i<arr.length;i++)
            {
                System.out.print(arr[i]+" ");
            }
            int temp = 0 ;
             for(int i=0;i<arr.length-1;i++)
             {
                 for(int j=0;j<arr.length-i-1;j++)
                 {
                     if(arr[j]>arr[j+1])
                     {
                         temp = arr[j];
                         arr[j] = arr[j+1];
                          arr[j+1] = temp;
                     }
                 }
             }
            
            System.out.println();
            System.out.println("数组排列后的顺序为: ");
            for(int i=0; i<arr.length;i++)
            {
                System.out.print(arr[i]+" ");
            }
        
        }
        public static void main(String[] args)
        {
            fun();
        }

    }

    冒泡排序:对n个元素排序时,总共需要进行n-1轮比较。第1轮则比较n-1次,第二轮则比较n-2次。第i轮则比较n-i次。

    具体分析:

    9 8 7 6 5 4 3    总有7个数   也就是 n=7 =arr.length = 7
     
    1.  8 7 6 5 4 3 9  第一轮比较 n-1; 总比较了6次
    2.  7 6 5 4 3 8 9  第二轮比较 n-2; 总比较了5次
    3.  6 5 4 3 7 8 9  同理每轮比较, 就是n-i次。
    4   5 4 3 6 7 8 9
    5   4 3 5 6 7 8 9
    6   3 4 5 6 7 8 9

    第一for循环语句:
     for(int i=0;i<arr.length-1; i++)  
     比较arr.length-1 次 ;
    然后再看内循环吧!
    内循环语句:
    for(int j=0;j<arr.length-i-1;j++)
     在两个for循环中, arr.length-1 ;是为了防止数组越界。 

    编程是一门艺术,要爱就要深爱。
  • 相关阅读:
    使用ClassLoader加载配置文件
    Io流和Properties集合的联合应用
    文件拷贝案例
    倒计时
    静态代码块
    数组的四种排序(冒泡排序,选择排序,插入排序,快速排序)
    通过map集合统计每个字符出现的次数
    随机输入几个数字,删除重复数字(但要保留一个),留下不重复的数字
    流程图学习-1-基础符号
    Java-List的对象的校验不起作用的解决方案
  • 原文地址:https://www.cnblogs.com/pwhit/p/5225925.html
Copyright © 2011-2022 走看看