zoukankan      html  css  js  c++  java
  • 排序算法-冒泡排序

    package Sort;
    
    import org.junit.Test;
    
    import Sort.utils.Swap;
    
    /*
     * 冒泡排序:
     * 	时间复杂度:O(n^2)
     * 	空间复杂度:O(1)
     */
    public class BubbleSort {
    	public static <T extends Comparable<T>> void bubbleSort(T[] arr) {
    		for (int i = 0; i < arr.length - 1; i++) {
    			boolean flag = true;// 设定一个标记,若为true,则表示此次循环没有进行交换,也就是待排序列已经有序,排序已然完成。
    			for (int j = 0; j < arr.length - 1 - i; j++) {
    				if (arr[j].compareTo(arr[j + 1]) > 0) {
    					Swap.swap(arr, j, j + 1);
    					flag = false;
    				}
    			}
    			if (flag) {
    				break;
    			}
    		}
    	}
    
    	@Test
    	public void testBubbleSort() {
    		// Integer[] arr = { 34, 8, 64, 51, 32, 21 };
    		String[] arr = { "abc", "cccc", "bbb" };
    		bubbleSort(arr);
    		for (String i : arr) {
    			System.out.print(i + " ");
    		}
    	}
    }
    

  • 相关阅读:
    预定义规则 取范围数据
    oracle table 数组的赋值方法
    java 缓存读写
    webpack
    vscode setting
    webpack babel
    共享你的vscode配置
    github API很丰富
    tips
    todo
  • 原文地址:https://www.cnblogs.com/wei1/p/9582112.html
Copyright © 2011-2022 走看看