栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java-数组8--冒泡排序

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java-数组8--冒泡排序

冒泡排序

冒泡排序是最为出名的一种排序算法之一,总共有八大排序
冒泡排序就是将两个元素进行比较 根据比较的结果 进行一个操作

  • 冒泡排序有两层循环,外层冒泡轮数,里层依次比较。
  • 时间复杂度为O(n2)
难点
  • 注意下边边界问题
  • 外层循环的原理及如何合理的使用
  1. for (int i = 0; i 定义了循环要进行几轮,在运行中通常i被用来记为前第几轮
  • 内层循环的作用及结构
  1. for (int j = 0; j 定义了需要进行比较的元素下标**-i是因为每次循环都会比较出一个最极端的元素,所以后面的循环比较它不需要参与进来。-i可以将最后的下标排除。以达到优化的效果**
  • 交换元素
    if (x[j]>x[j+1]){
    m=x[j];
    x[j]=x[j+1];
    x[j+1]=m;
    当两个元素比较需要交换位置时。可以定义一个第三方变量 ,将其中一个元素的值暂存到第三方变量。接着在一个个去覆盖已达到交换的效果
    注意:赋值是后面的元素赋值给前面的元素例如
    x=y 那么是x变成y
代码实例
public static void main(String[] args) {
        int[]ax={15,3,8,2,};
        int[]bx=sort(ax);//调用完我们自己写的方法 返回为一个排序后的数组
        System.out.println(Arrays.toString(bx));

    }public static int[] sort(int[]x){
        int m=0;//定义一个第三方变量
        //外层循环 判断要走多少次,由于下标从0开始所以-1
        for (int i = 0; i x[j+1]){
                    m=x[j];
                    x[j]=x[j+1];
                    x[j+1]=m;
                }
            }
        }return x;//排序完成后返回为一个数组
    }
优化
  • 利用布尔值进行跳出不必要的循环
  • 思路:如果进行了一次比较没有进行交换元素。那么就是已经排序了。后面可以直接利用break直接跳出循环
    代码
public static int[] sort(int[]x){
        int m=0;//定义一个第三方变量
        //外层循环 判断要走多少次,由于下标从0开始所以-1
        for (int i = 0; i x[j+1]){
                    m=x[j];
                    x[j]=x[j+1];
                    x[j+1]=m;
                    flag=false;
                }
            }if (flag==true){
                break;
            }
        }return x;

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/531560.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号