冒泡排序~

1、对应长度len 数组,需要进行 len -1 趟冒泡,每趟冒泡,将最大(小)元素排列到最后无序位置

2、每趟冒泡从第一个元素开始,邻近两两比较,找出最大元素

每一趟冒泡,都进行元素交换,这里可以识别当没有发生元素交换,说明已经有序,直接结束

复制代码
int[] data = {0,5,4,8,9,3,2,67,23};
int len = data.length;

for(int loop = 0;loop< len-1;loop++){
    for(int j =0;j<len-1-loop;j++){
        if(data[j]>data[j+1]){
            int tmp =data[j];
            data[j]=data[j+1];
            data[j+1]=tmp;
        }
    }
}

每一趟冒泡,标记最大元素小标,结束再跟最后一个无序元素交换

复制代码
int[] data = {0,5,4,8,9,3,2,67,23};
int len = data.length;

for(int loop = 0;loop< len-1;loop++){
    int max_index = 0;
    for(int j =0;j<len-1-loop;j++){
        if(data[max_index]<data[j+1]){
            max_index = j+1;
        }
    }

    if(max_index != len -1 -loop){
        int tmp = data[max_index];
        data[max_index] = data[len-1-loop];
        data[len-1-loop] = tmp;
    }
}
相关推荐
摘星编程8 分钟前
原型模式深度解析:Java设计模式实战指南与克隆机制优化实践
java·设计模式·性能优化·原型模式·创建型模式·软件架构·对象克隆
狐凄14 分钟前
Python实例题:Python计算概率论
开发语言·python·概率论
liujing1023292914 分钟前
Day09_刷题niuke20250609
java·c++·算法
无奈何杨15 分钟前
事件时间驱动的策略版本管理:风控系统中的关键设计抉择
java·后端·架构
不7夜宵17 分钟前
力扣热题100 k个一组反转链表题解
算法·leetcode·链表
程序员JerrySUN36 分钟前
Linux 内核内存管理子系统全面解析与体系构建
java·linux·运维
q5673152338 分钟前
分布式增量爬虫实现方案
开发语言·分布式·爬虫·python
勤奋的知更鸟44 分钟前
LLaMA-Factory和python版本的兼容性问题解决
开发语言·python·llama-factory
CIb0la1 小时前
Ai自动补全编程工具:llama vscode
运维·开发语言·学习·测试工具·程序人生
风象南1 小时前
SpringBoot的5种签到打卡实现方案
java·spring boot·后端