排序算法之-冒泡

顺序排序算法原理

从头开始遍历未排序数列,遍历时比较相邻的两个元素,前面的大于后面的,则双方交换位置,一直比较到末尾,这样最大的元素会出现在末尾,接着再依次从头开始遍历剩余未排序的元素,直至所有的元素都排序完成。(其实就是每次遍历时找出最大的元素,通过不断的移动位置,将其存入到未排序末尾)

算法图解

算法实现

java 复制代码
/**
     * 顺序排序
     * @param arr
     */
    public void sort(int arr[]){
        for(int j = arr.length-1;j>1;j--){
            for(int i=0;i<j;i++){
                if(arr[i]>arr[i+1]){
                    int temp = arr[i];
                    arr[i] = arr[i+1];
                    arr[i+1] = temp;
                }
            }
        }
    }

倒序排序算法原理

顺序是从头开始遍历,倒序是从末尾开始遍历,将最大元素依次存入序列开头位置

算法图解

算法实现

java 复制代码
/**
     * 倒序排序
     * @param arr
     */
    public void revert(int arr[]){
        for(int j=0;j<arr.length-1;j++){
            for(int i=arr.length-1;i>j;i--){
                if(arr[i]>arr[i-1]){
                    int temp = arr[i];
                    arr[i] = arr[i-1];
                    arr[i-1] = temp;
                }
            }
        }
    }

测试

java 复制代码
public static void main(String[] args) {
        int arr[] = {9, 7, 1991, 27, -1, -10, 0, 2, 65, -100};
        BubbleSort bubbleSort = new BubbleSort();
        bubbleSort.sort(arr);
        for (int i = 0; i < arr.length; i++) {
            System.out.print(arr[i] + "\t");
        }
        System.out.println();

        int arr2[] = {9, 7, 1991, 27, -1, -10, 0, 2, 65, -100};
        bubbleSort.revert(arr2);
        for (int i = 0; i < arr2.length; i++) {
            System.out.print(arr2[i] + "\t");
        }
    }

结果

相关推荐
CoovallyAIHub14 小时前
中科大DSAI Lab团队多篇论文入选ICCV 2025,推动三维视觉与泛化感知技术突破
深度学习·算法·计算机视觉
NAGNIP15 小时前
Serverless 架构下的大模型框架落地实践
算法·架构
moonlifesudo15 小时前
半开区间和开区间的两个二分模版
算法
moonlifesudo15 小时前
300:最长递增子序列
算法
CoovallyAIHub20 小时前
港大&字节重磅发布DanceGRPO:突破视觉生成RLHF瓶颈,多项任务性能提升超180%!
深度学习·算法·计算机视觉
CoovallyAIHub21 小时前
英伟达ViPE重磅发布!解决3D感知难题,SLAM+深度学习完美融合(附带数据集下载地址)
深度学习·算法·计算机视觉
聚客AI2 天前
🙋‍♀️Transformer训练与推理全流程:从输入处理到输出生成
人工智能·算法·llm
大怪v2 天前
前端:人工智能?我也会啊!来个花活,😎😎😎“自动驾驶”整起!
前端·javascript·算法
惯导马工2 天前
【论文导读】ORB-SLAM3:An Accurate Open-Source Library for Visual, Visual-Inertial and
深度学习·算法
骑自行车的码农2 天前
【React用到的一些算法】游标和栈
算法·react.js