zoukankan      html  css  js  c++  java
  • 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]+" ");
                
            }


























  • 相关阅读:
    2018.6.8 现代企业管理复习总结
    写时复制
    字符串类示例
    信号量示例
    对象赋值的语义
    对象复制的语义
    无用单元和悬挂引用
    初始化
    静态数据成员,静态成员函数
    同时找出最大数和最小数
  • 原文地址:https://www.cnblogs.com/haoxz258988/p/12830753.html
Copyright © 2011-2022 走看看