package day04; import java.util.Arrays; /** * @类名 SortDemo * @功能 排序测试 * @时间 2011年01月16日 * @作者 桑龙佳 * @版权 桑龙佳 * @版本 V1.0 */ public class SortDemo { public static void main(String[] args) { char[] ary = { 'D', 'G', 'E', 'C', 'A', 'K', 'H', 'F', 'J', 'B', 'I' }; System.out.println(Arrays.toString(minToMax(ary, 1))); System.out.println(Arrays.toString(minToMax(ary, 2))); System.out.println(Arrays.toString(minToMax(ary, 3))); } /** * @方法 minToMax * @功能 对char[]字符数组进行从小到大的排序 * @参数 ary 需要处理的char[]字符数组 * @参数 type 排序算法选择,1代表选择排序,2代表冒泡排序,3代表插入排序 * @返回 返回一个排序好的char[]字符数组 */ public static char[] minToMax(char[] ary, int type) { switch (type) { case 1: { for (int i = 0; i < ary.length - 1; i++) { for (int j = i + 1; j < ary.length; j++) { if (ary[i] > ary[j]) { char temp = ary[i]; ary[i] = ary[j]; ary[j] = temp; } } } break; } case 2: { for (int i = 0; i < ary.length - 1; i++) { for (int j = 0; j < ary.length - 1 - i; j++) { if (ary[j] > ary[j + 1]) { char temp = ary[j]; ary[j] = ary[j + 1]; ary[j + 1] = temp; } } } break; } case 3: { for (int i = 1; i < ary.length; i++) { for (int j = i - 1; j >= 0; j--) { if (ary[j] > ary[j + 1]) { char temp = ary[j]; ary[j] = ary[j + 1]; ary[j + 1] = temp; } } } break; } } return ary; } }