• Java-冒泡排序


    一.简介冒泡排序

            比较一个数组中的数据大小,将数组中的数据值从小到大依次排列。

    二.实现过程

            代码:

    package kgc.cn.haoxzhello;
    
    public class HXZ6 {
        public static void main(String[] args) {
            int []arr = {85,65,96,54,25,15,23,8};
            for(int i=1;i<=arr.length-1;i++){
                for(int j=0;j<=arr.length-1-i;j++){
                    if(arr[j]>arr[j+1]){
                        int kong = arr[j];
                        arr[j]=arr[j+1];
                        arr[j+1]=kong;
                        
                    }
                    
                }
                
            }
            for(int i = 0;i<=arr.length-1;i++){
                System.out.print(arr[i]+" ");
                
            }
        
            
        }
    
    }

    然后来说明一下这个工作流程。

    首先,随意声明一个数组:例如

    int []arr = {85,65,96,54,25,15,23,8};
    我们想要数组中的数据,两两依次进行比较,可以看到数组中一共只有8个数据,如果两两依次比较一共需要比较7次(1vs2,2vs3,3vs4。。。7vs8),所以首先建立一个外层循环,代表数组中的数一共需要比较7次 也就是数组长度-1
    所以建立外层循环
    for(int i=1;i<=arr.length-1;i++){}


    外层循环代表:
    排序趟数。每进行完一趟,最后面那个数,必定是数组中最大的一个,所以第二趟比较的时候最后一个数不参与比较第二趟比较完成后,倒数第二个数也一定是数组中第二大的数,所以第三趟比较的时候最后两个数不参与比较;

    依次类推,每一趟比较次数-1;

     for(int j=0;j<=arr.length-1-i;j++){
                    if(arr[j]>arr[j+1]){
                        int kong = arr[j];
                        arr[j]=arr[j+1];
                        arr[j+1]=kong;
    内层循环控制每一趟排序多少次:因为每一趟排完之后,数组中最后那个数,必定是最大的,所以那个数不需要排序,所以内层循序的长度是数组长度-1-i
    如果前面一个数大于后面一个数的话,他们两个需要交换位置,则需要声明一个新的空变量,便于他们之间交换数值。
                        int kong = arr[j];
                        arr[j]=arr[j+1];
                        arr[j+1]=kong;、
    则为此部分,
    当循环全部进行结束,最后需要循环输出这个数组中的数值即可
     for(int i = 0;i<=arr.length-1;i++){
                System.out.print(arr[i]+" ");
                
            }


























  • 相关阅读:
    抓取用户openid
    getaccesstoken方法
    https_request请求接口返回数据
    composer安装
    Linux下mysql数据库root无法登录的情况
    nginx安装
    shell脚本采用crontab定时备份数据库日志
    Python之元类详细解析
    Python面向对象之封装、property特性、绑定方法与非绑定方法
    Python之面向对象的组合、多态、菱形问题、子类中重用父类的两种方式
  • 原文地址:https://www.cnblogs.com/haoxz258988/p/12830753.html
Copyright © 2020-2023  润新知