博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
冒泡排序
阅读量:5335 次
发布时间:2019-06-15

本文共 1022 字,大约阅读时间需要 3 分钟。

import java.util.Arrays;public class Bubble {    public static void main(String arg[]) {        // int[] sz = { 3, 5, 7, 5, 4, 3, 554, 43, 232, 67, 3, 212, 3, 546, 0 };        int[] sz = { 1, 2, 1, 4, 5, 6, 7, 8, 9 };        System.out.println("原数组:" + Arrays.toString(sz));        // 冒泡排序优化        int isChange = 0;// 记录是否发生了置换,0未置换,1发生了置换        for (int i = 0; i < sz.length - 1; i++) {            isChange = 0;// 重置            for (int j = 0; j < sz.length - 1 - i; j++) {                if (sz[j] > sz[j + 1]) {                    int temp = sz[j];                    sz[j] = sz[j + 1];                    sz[j + 1] = temp;                    isChange = 1;// 进到这里说明发生了置换                }            }            // 如果比较完一趟没有发生置换,那么说明已经排好序了,不需要再比较下去            if (isChange == 0) {                break;            }            System.out.println("第" + (i + 1) + "次置换结果:" + Arrays.toString(sz));        }    }}

易错:两个for循环条件,外层循环是比较次数,比较次数为数组长度-1,如长度为2的数组比较1次即可;

转载于:https://www.cnblogs.com/xiongyungang/p/10501818.html

你可能感兴趣的文章
Spring Cloud Stream消费失败后的处理策略(三):使用DLQ队列(RabbitMQ)
查看>>
bzoj1048 [HAOI2007]分割矩阵
查看>>
Java中的编码
查看>>
PKUWC2018 5/6
查看>>
As-If-Serial 理解
查看>>
洛谷P1005 矩阵取数游戏
查看>>
在Silverlight中使用HierarchicalDataTemplate为TreeView实现递归树状结构
查看>>
无线通信基础(一):无线网络演进
查看>>
如何在工作中快速成长?阿里资深架构师给工程师的10个简单技巧
查看>>
WebSocket 时时双向数据,前后端(聊天室)
查看>>
关于python中带下划线的变量和函数 的意义
查看>>
linux清空日志文件内容 (转)
查看>>
安卓第十三天笔记-服务(Service)
查看>>
Servlet接收JSP参数乱码问题解决办法
查看>>
【bzoj5016】[Snoi2017]一个简单的询问 莫队算法
查看>>
Ajax : load()
查看>>
MySQL-EXPLAIN执行计划Extra解释
查看>>
Zookeeper概述
查看>>
Zookeeper一致性级别
查看>>
单例模式的几种实现方式及对比
查看>>