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]+"	");
                    }
                }
        
    }
  • 相关阅读:
    10.23继承
    10.22语法 class 类 面向对象概念 类与对象 对象的使用 绑定方法
    10.18
    10.16
    读书笔记-软技能:代码之外的生存指南
    git reset
    阿里云安装samba
    关于svn由于目标计算机积极拒绝,无法连接的解决办法
    yii2简单安装
    指定路径创建中文文件名并存入内容
  • 原文地址:https://www.cnblogs.com/chenttc/p/7725461.html
Copyright © 2011-2022 走看看