输入一个字符串,打印出该字符川中字符的所有排序
public class Test3 {
public static void main(String[] args) {
String string = "abc";
char[] charArray = string.toCharArray();
sort(charArray, 0);
}
public static void sort(char[] charArray,int start){
if (start==charArray.length-1) {
System.out.println(charArray);
}
for (int i = start; i < charArray.length; i++) {
char exchange1 = charArray[start];
charArray[start] = charArray[i];
charArray[i] = exchange1;
sort(charArray, start+1);
char exchange2 = charArray[start];
charArray[start] = charArray[i];
charArray[i] = exchange2;
}
}
}
输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印出其中最小的一个
public class Test4 {
public static void main(String[] args) {
int[] demo = {3,32,321};
List<Integer> list = new LinkedList<Integer>();
sort(demo, 0, list);
int min = 999999;
for (Integer integer : list) {
if (integer<min) {
min = integer;
}
}
System.out.println(min);
}
public static void sort(int[] intArray,int start,List<Integer> list){
if (start>=intArray.length-1) {
String string = "";
for (int i = 0; i < intArray.length; i++) {
string = string+String.valueOf(intArray[i]);
}
Integer num = Integer.parseInt(string);
list.add(num);
return;
}
for (int i = start; i < intArray.length; i++) {
int temp1 = intArray[start];
intArray[start] = intArray[i];
intArray[i] = temp1;
sort(intArray, start+1, list);
int temp2 = intArray[start];
intArray[start] = intArray[i];
intArray[i] = temp2;
}
}
}