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 ;是为了防止数组越界。 

    编程是一门艺术,要爱就要深爱。
  • 相关阅读:
    vs2019+GLFW+GLAD出现无法解析的外部符号
    图的着色算法
    Head First C# 实验室2(冒险游戏)
    击中和击不中变换
    开运算和闭运算
    膨胀与腐蚀
    两数相加(C#数据结构和算法练习)
    C# 特性和索引(C#学习笔记06)
    C# 索引器(C#学习笔记05)
    C# yield checked,unchecked lock语句(C#学习笔记04)
  • 原文地址:https://www.cnblogs.com/pwhit/p/5225925.html
Copyright © 2011-2022 走看看