import java.util.Stack; public class Sort { public static void main(String[] args) { String a = "43561dgfhdfxz"; int[] aa = { 12, 34, 76, 8, 45, 32, 15 }; System.out.println("字符串排序结果:"); System.out.println(Reverse(a)); System.out.println("原数组为:"); showArray(aa); System.out.println("数组逆序排序"); reverseSort(aa); showArray(aa); System.out.println("冒泡排序:"); bubbleSort(aa); showArray(aa); System.out.println("选择排序法:"); selectSort(aa); showArray(aa); System.out.println("插入排序法:"); insertSort(aa); showArray(aa); } // 创建一个字符串排序的方法 public static String Reverse(String string) { // 首先实例化一个StringBuffer,方便调用其中方法对字符串进行更改 StringBuffer sb = new StringBuffer(); // 使用栈,传入一个字符串排序的对象,该对象实现了 Comparable<Character>接口 Stack<Character> s = new Stack<Character>(); // 开始FOR循环假设该字符的长度小于传入数组的长度 for (int j = 0; j < string.length(); j++) { // 符串中第一个字符的下标是 0。如果参数 index 不在 0 与 string.length 之间,该方法将返回一个空字符串。 s.add(string.charAt(j)); } for (int j = 0; j < string.length(); j++) { // sb.append(s.pop()); System.out.println(sb.append(s.pop())); } return sb.toString(); } // 选择排序法 public static int[] selectSort(int[] args) { for (int i = 0; i < args.length - 1; i++) { int min = i; for (int j = i + 1; j < args.length; j++) { if (args[min] > args[j]) { min = j; } } if (min != i) { int temp = args[i]; args[i] = args[min]; args[min] = temp; } } return args; } // 插入排序法 public static int[] insertSort(int[] args) {// 插入排序算法 for (int i = 1; i < args.length; i++) { for (int j = i; j > 0; j--) { if (args[j] < args[j - 1]) { int temp = args[j - 1]; args[j - 1] = args[j]; args[j] = temp; } else break; } } return args; } // 冒泡排序法 public static int[] bubbleSort(int[] args) {// 冒泡排序算法 for (int i = 0; i < args.length - 1; i++) { for (int j = i + 1; j < args.length; j++) { if (args[i] > args[j]) { int temp = args[i]; args[i] = args[j]; args[j] = temp; } } } return args; } // 数组逆序排序 public static int[] reverseSort(int[] args) { int tem; for (int i = 0; i < args.length / 2; i++) { tem = args[i]; args[i] = args[args.length - 1 - i]; args[args.length - 1 - i] = tem; } return args; } // 打印输出数组 public static void showArray(int[] array) { for (int i : array) { System.out.print(i + "\t"); } System.out.println(""); } }
当年我是自来卷,现在想变成自来熟,但是。。。成了程序猿。。。