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;
        }
    }
}
相关推荐
西农小陈10 分钟前
python-字符排列问题
数据结构·python·算法
解孔明21 分钟前
IDEA2023.1添加java虚拟机启动参数,打开断言
java·开发语言
关关不烦恼24 分钟前
【Java数据结构】二叉树
java·开发语言·数据结构
苹果酱056724 分钟前
使用 React Testing Library 测试自定义 React Hooks
java·开发语言·spring boot·后端·中间件
TechQuester25 分钟前
OpenAI 刚刚推出 o1 大模型!!突破LLM极限
人工智能·python·gpt·算法·chatgpt
好奇的菜鸟33 分钟前
Java技术体系:深入理解JDK与JRE及其产品线
java·开发语言
西农小陈36 分钟前
python-简单的数据结构
数据结构·python·算法
_Chocolate37 分钟前
十大排序(一):冒泡排序
c语言·数据结构·算法
api7741 分钟前
1688商品详情API返回值中的售后保障与服务信息
java·服务器·前端·javascript·python·spring·pygame
疑惑的杰瑞1 小时前
[乱码]确保命令行窗口与主流集成开发环境(IDE)统一采用UTF-8编码,以规避乱码问题
java·c++·vscode·python·eclipse·sublime text·visual studio