标签:style blog color ar os 使用 sp java for
冒泡排序:
初始状态基本有序时使用此种方式尤嘉。
/** * */ package com.san.ocean; import java.util.Arrays; /** * @author ocean * */ public class HelloWorld { /** * @param args */ public static void main(String[] args) { HelloWorld hw = new HelloWorld(); hw.change(); } /** * * 冒泡排序 <br> * 两两比较取最值向前或向后移动,多次重复比较后,得到顺序排列。 * */ public void change() { int[] arr = new int[] { 2, 1, 3, 5, 4, 6 }; for (int i = 0; i < arr.length; i++) { for (int j = arr.length - 1; j > 0; j--) { // 升序 // if (arr[j] < arr[j - 1]) // 降序 if (arr[j] > arr[j - 1]) // Java只有值传递 SingleTwo.getSingleTwo().swap(arr, j, j - 1); } } System.out.println(Arrays.toString(arr)); } } /** * * 单例模式<br> * * 外界无法通过新建对象的方式实例化对象,而是通过调用静态方法实现唯一的实例化对象 * */ class SingleTwo { /** * * 私有的静态变量 */ private static SingleTwo so = null; /** * * 私有构造器 */ private SingleTwo() { } /** * * * 添加同步锁 */ public static SingleTwo getSingleTwo() { if (null == so) { synchronized (SingleTwo.class) { if (so == null) so = new SingleTwo(); } } return so; } /** * 交换两个变量值算法<br> * * 不初始化第三个变量交换两个变量的值 * */ public void swap(int[] arr, int i, int j) { arr[i] = arr[i] - arr[j]; arr[j] = arr[i] + arr[j]; arr[i] = arr[j] - arr[i]; } }
标签:style blog color ar os 使用 sp java for
原文地址:http://www.cnblogs.com/ocean-san/p/4095755.html