• 冒泡排序


    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次即可;

  • 相关阅读:
    HTTP解决了什么问题?
    OSI模型--TCP/IP
    USB取证工具-Usbrip
    ModSecurity OWASP 规则集说明
    WAF简介及ModSecurity-nginx搭建
    aSYNcrone-ddos
    Centos7安装php7.1
    Centos7基于LNMP架构搭建DVWA
    web扫描器-uniscan
    基于腾讯云搭建宝塔面板
  • 原文地址:https://www.cnblogs.com/xiongyungang/p/10501818.html
Copyright © 2020-2023  润新知