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

    相邻的两个数逐个的作比较,如果前一个数比后一个数小那么就交换过来,当第一轮交换完毕之后最小的值一定产生在末尾。

    class Demo6{
        
        public static void main(String[] args){
            int[] scores = {90, 98, 80, 89, 60};
            //在主函数里调用方法printArray先输出未排序之前的数组的值
            printArray(scores);
            System.out.println();
            //在主函数里调用orderArray方法对数组进行冒泡排序
            orderArray(scores);
            //输出排序之后的数组
            printArray(scores);
        }    
            
        //定义一个冒泡排序的方法
        public static void orderArray(int[] array){
            //利用外层循环控制需要比较的是几轮
            for(int i = 0; i < array.length - 1; i++){
                //利用内层循环控制每轮需要比较多少次
                for(int j = 0; j < array.length - i -1; j++){
                    //这时比较数组里的前一位数和后一位数的大小
                    if(array[j+1] > array[j]){
                        //如果后一位数大于前一位数则进行交换
                        //定义一个变量来接收后一位数的数值
                        int temp = array[j+1];
                        //此时把前一位较小的数值赋给array[j+1]
                        array[j+1] = array[j];
                        //然后把变量temp里较大的数值赋给array[j]
                        array[j] = temp;
                        //此时已经完成了冒泡排序
                        }
                    }
                }
            }
            //定义一个方法用来打印出该数组
            public static void printArray(int[] array){
                for(int i = 0; i< array.length; i++){
                    System.out.print(array[i]+"	");
                    }
                }
            
            
    }

    另(注释):

    class Demo3{
        public static void main(String[] args){
            //定义一个数组
            int[] scores = {90,80,79,93,78,61};
            printArray(scores);
            System.out.println();
            orderArray(scores);
            printArray(scores);
            
        }
        public static void orderArray(int[] array){
              //外层循环控制需要比较的是几轮
              for(int i = 0; i < array.length-1; i++){
                  //内层循环控制的是每一轮需要比较几次
                  for(int j = 0; j < array.length-i-1; j++){
                      //对数组里相邻的两个数进行比较,如果后一位数大于前一位数,则发生交换
                      if(array[j+1] > array[j]){
                          //先定义一个变量用来存储数组里相邻的两个数里的后一位数字
                          int temp = array[j+1];
                          //如果能够进入循环里则说明后一位数大于前一位数,此时将前一位数的值赋给后一位
                          array[j+1] = array[j];
                          //然后把temp里大的那个值传给array[j]
                          array[j] = temp;
                          
                          }
                      }
                  }
               
            }
            public static void printArray(int[] array){
                for(int i = 0; i < array.length; i++){
                    System.out.print(array[i]+"	");
                    }
                }
        
    }
  • 相关阅读:
    php 微信调用扫一扫
    JavaSE常用API
    Java中的异常处理
    Java实现多态的机制是什么?
    JavaSE(下)
    JavaSE语法(中)
    JavaSE语法
    Java面向对象
    Java零基础入门之常用工具
    Java抽象类、接口、内部类
  • 原文地址:https://www.cnblogs.com/chenttc/p/7725461.html
Copyright © 2011-2022 走看看