冒泡排序~

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;
    }
}
相关推荐
mldong22 分钟前
给若依加审批流,不用 Flowable
java·spring boot·架构
Wang's Blog2 小时前
Java框架快速入门: Spring Security+OAuth2之数据库和实体类的RBAC改造
java·数据库·spring
Niuguangshuo2 小时前
论文解读:CTC,端到端序列识别的开山之作
算法·语音识别
讳疾忌医丶2 小时前
深度拆解 RocksDB 内核:基于 C++17 的 FIFO 调度状态机与温度阶梯自愈设计
java·c++·算法·架构
lsswear3 小时前
Python 并发 线程
开发语言·python
郑州光合科技余经理3 小时前
国际版外卖系统:税率字段怎么和订单主流程解耦
android·java·开发语言·前端·后端·php·ai编程
毅炼3 小时前
Rover-Suite 开源发布:轻量服务注册中心与网关一体化方案
java·后端·系统架构·gateway
高亦真3 小时前
今天是学习嵌入式的第37天
linux·学习·算法
软件课代表CiCi3 小时前
运行库是什么?电脑缺运行库怎么办?c++运行库缺失修复全攻略
开发语言·c++·windows·电脑·dll修复·dll丢失·运行库
梦想平凡3 小时前
百游棋牌源代码开发搭建教程(十):隔离部署、备份恢复与双端验收
java·前端·javascript·数据库·源代码管理