/**
* 字符串排序
* 输入:fed1l9u5u12
* 输出:11259defluu
*/
public class StringSort {
public static void main(String[] args) {
String input = "fed1l9u5u12";
System.out.println(sort(input));
}
private static void testCompare() {
char a = 'a';
char b = 'b';
char num1 = '1';
char num2 = '2';
System.out.println(a < b); // true
System.out.println(num1 < a); // true
System.out.println(num1 < num2); // true
}
private static String sort(String src) {
if (src == null || src.length() <= 1) {
return src;
}
char[] chars = src.toCharArray();
quickSort(chars, 0, chars.length - 1);
return new String(chars);
}
private static void quickSort(char[] src, int start, int end) {
if (start < end) {
int mid = partition(src, start, end);
quickSort(src, start, mid - 1);
quickSort(src, mid + 1, end);
}
}
private static int partition(char[] src, int start, int end) {
char target = src[start];
while (start < end) {
while (start < end && src[end] >= target) {
end--;
}
src[start] = src[end];
while (start < end && src[start] <= target) {
start++;
}
src[end] = src[start];
}
src[start] = target;
return start;
}
}
字符串排序
最新推荐文章于 2022-07-27 17:31:06 发布