首页 > 代码库 > java排序
java排序
冒泡排序:
初始状态基本有序时使用此种方式尤嘉。
/** * */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]; }}
java排序
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。