큼직큼직하다

1280 단어 JavaArithmetic
  :    

              。  :
  abcd    abdc

         ,        ,    ,          ,        ,               。    :                。          “    ”。

  :
   :
abfxy
      :
abfyx

   :
   :
ayyyxxff
      :
fafxxyyy

      :
         1000   。

  :
                    ,           。
public class LargerString {
	static void f_next(char[] a) {
		int x1 = -1;
		int min = a.length - 1;
		for (int i = a.length - 1; i > 0; i--) {
			if (a[i] < a[min]) {
				min = i; //   x1+1    ,        min
			}

			if (a[i - 1] < a[i]) {
				x1 = i - 1; //             ,    x1
				break;
			}
		}
		if (x1 < 0)
			return;
		char t = a[x1];
		a[x1] = a[min]; //   x1 min
		a[min] = t;
		String s = "yyyyyffff";
		int count;
		for (int i = 1; i < a.length - x1 + 2; i++) //   x1+1   N-1            。
		{
			count = 0;
			for (int j = x1 + 1; j < a.length - i; j++)
				if (a[j] > a[j + 1]) {
					char p = a[j];
					a[j] = a[j + 1];
					a[j + 1] = p;
					count++;
				}
			if (count == 0)
				break;
		}
	}
	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);
		char[] a = scan.nextLine().toCharArray();
		f_next(a);
		for (int i = 0; i < a.length; i++) {
			System.out.print(a[i]);
		}
		System.out.println();
	}
}

좋은 웹페이지 즐겨찾기