e冒泡排序---复杂度O(X^2)

排序原理:

1.比较相邻的元素。如果前一个元素比后一个元素大,就交换这两个元素的位置。

2.对每一对相邻元素做同样的工作,从开始第一对元素到结尾的最后一对元素。最终最后位置的元素就是最大值,

java 复制代码
public class 冒泡排序 {
    public static void main(String[] args) {
        Integer[] arr = {4,5,6,2,7,9};
        Bubble.sort(arr);
        System.out.println(Arrays.toString(arr));
    }
    static class Bubble{
       public  static void sort(Comparable[] a){
            // 外层循环确定有多少个元素参与排序->确定排序的轮数
           for (int i = a.length -1; i > 0; i--) {
               // 基于外层循环得到参与冒泡排序元素个数,挨个比较并交换
               for (int j = 0; j < i; j++) {
                   if (greater(a[j], a[j + 1])){
                       exch(a,j,j+1);
                   }
               }

           }
       }
        // 比较v是否大于w
        public  static boolean greater(Comparable v, Comparable w){
            return v.compareTo(w)>0;
        }
        // 交换a中,i与j的位置
        public  static void exch(Comparable[] a, int i, int j){
            Comparable temp = a[i];
            a[i] = a[j];
            a[j] = temp;
        }
    }
}
相关推荐
毕设源码-钟学长3 分钟前
【开题答辩全过程】以 小区物业管理APP为例,包含答辩的问题和答案
java·spring boot
这周也會开心4 分钟前
Java面试题-JVM
java·开发语言·jvm
while(1){yan}4 分钟前
Spring,SpringBoot,SpringMVC
java·spring boot·spring
小尧嵌入式7 分钟前
C++选择排序插入排序希尔排序快排归并排及大小根堆实现优先级队列
数据结构·c++·windows·算法·排序算法
秋饼7 分钟前
【spring-framework 本地下载部署,以及环境搭建】
java·后端·spring
刘宇涵4912 分钟前
根节点Java
java
zwjapple14 分钟前
React + Java 技术面试完整指南
java·开发语言·jvm·react
秋邱22 分钟前
Java匿名内部类的使用场景:从语法本质到实战优化全解析
android·java·开发语言·数据库·python
悟乙己23 分钟前
anthropics Skills pptx深度解读:从官方规范到实战案例(二)
java·llm·pptx·skills·anthropics
天赐学c语言25 分钟前
12.29 - 字符串相加 && vector和map的区别
数据结构·c++·算法·leecode