冒泡排序~

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;
    }
}
相关推荐
极客BIM工作室8 分钟前
演化搜索与群集智能:五种经典算法探秘
人工智能·算法·机器学习
一成码农14 分钟前
JavaSE面向对象(上)
java
wjs202419 分钟前
SQL AND & OR 操作符详解
开发语言
qq_5746562521 分钟前
java-代码随想录第66天|Floyd 算法、A * 算法精讲 (A star算法)
java·算法·leetcode·图论
我是好小孩24 分钟前
【Android】六大设计原则
android·java·运维·服务器·设计模式
~光~~27 分钟前
【环境配置 】WSL2 +ubuntu20.04 +Qt配置+Kits配置
开发语言·qt·ubuntu
小霞在敲代码31 分钟前
HashMap - 底层原理
java·hashmap
·心猿意码·1 小时前
C++右值语义解析
开发语言·c++
小龙报1 小时前
《彻底理解C语言指针全攻略(2)》
c语言·开发语言·c++·visualstudio·github·学习方法
Elsa️7461 小时前
个人项目开发(1):使用Spring Secruity实现用户登录
java·后端·spring