#include <stdio.h> #include <string.h> typedef int Position; // 快排 Position partion(char *str, int low, int high) { char pivot = str[low]; while (low < high) { while (low < high && str[high] >= pivot) high--; str[low] = str[high]; while (low < high && str[low] <= pivot) low++; str[high] = str[low]; } str[low] = pivot; return low; } void QuickSort(char *str, int low, int high) { if (low < high) { Position pivotProps = partion(str, low, high); QuickSort(str, low, pivotProps - 1); QuickSort(str, pivotProps + 1, high); } } int main() { char str[200]; while (scanf("%s", str) != EOF) { // 注意 while 处理多个 case QuickSort(str, 0, strlen(str) - 1); printf("%s", str); } return 0; }