Java实现冒泡排序动画展示

简介: Java实现冒泡排序动画展示

b7755c2801244e23885358c69a8d854b.gif原理:每次比较两个相邻的元素,将较大(较小)的元素交换至右边。


思路:每次冒泡排序操作都会将相邻的两个元素进行比较,看是否满足大小关系要求,如果满足,就根据需要(从小到大/从大到小)交换这两个相邻元素,一轮冒泡使得一个元素移动到它应最终所在的位置。进行(数组元素个数减一再减所进行的轮数)次对比,就完成一轮的冒泡排序;而进行(数组元素个数减一)轮,就完成了全部冒泡排序。


可以根据需要进行if部分的修改,以实现从小到大或者从大到小的排序


public class JavaTest {
    public static void main(String[] args) {
        int[] arr = new int[]{23,1,67,-4,0,-2,90,213,-77,56,43,7,-89};
        //排序总共arr.length-1轮(数组元素个数减一)
        for (int i = 0;i < arr.length-1;i++){
            //每轮当中前后两两对比
            for (int j = 0;j < arr.length - 1 - i;j++){
                //从小到大排序
                if (arr[j] > arr[j+1]){
                    int temp = arr[j];
                    arr[j] = arr[j+1];
                    arr[j+1] = temp;
                }
            }
        }
        //输出展示排序结果
        for (int i = 0;i <arr.length;i++){
            System.out.print(arr[i] + "\t");
        }
    }
}

b988132652c74e648f8daa2a5d29e94d.png

相关文章
|
8月前
|
Java
冒泡排序(java)
冒泡排序(java)
|
9月前
|
存储 搜索推荐 算法
Java数组全套深入探究——进阶知识阶段2、冒泡排序
Java数组全套深入探究——进阶知识阶段2、冒泡排序
98 0
|
9月前
|
Java C语言
用Java(C语言也可以看)实现冒泡排序和折半查找(详细过程图)+逆序数组
用Java(C语言也可以看)实现冒泡排序和折半查找(详细过程图)+逆序数组
88 0
|
4月前
|
机器学习/深度学习 算法 搜索推荐
让星星⭐月亮告诉你,Java冒泡排序及其时间复杂度计算
冒泡排序是一种简单的排序算法,通过多次遍历数组,每次比较相邻元素并交换位置,将较小的元素逐步移至数组前端。第一轮结束后,最小值会位于首位;第二轮则将次小值置于第二位,依此类推。经过 (n-1) 轮遍历后,数组完成排序。冒泡排序的时间复杂度为 O(n²),在最优情况下(已排序数组)时间复杂度为 O(n)。示例代码展示了如何实现冒泡排序。
105 1
|
4月前
|
算法 Java
java冒泡排序与二分查找(详解)
java冒泡排序与二分查找(详解)
61 4
|
4月前
|
人工智能 Java
java之冒泡排序8个数
java之冒泡排序8个数
31 0
|
6月前
|
搜索推荐 Java
|
8月前
|
Java
Java Swing模拟水波纹扩散效果动画
Java Swing模拟水波纹扩散效果动画
73 6
|
9月前
|
存储 算法 Java
wtf?java的冒泡排序还可以这样写
wtf?java的冒泡排序还可以这样写
36 1

热门文章

最新文章