public static void allPermutationWithoutRecursion(int[] a) {
		if (1 >= a.length) {
			return;
		}

		int temp = 0;
		while (true) {

			int i = a.length - 2;
			while (i >= 0) {
				if (a[i] < a[i + 1]) {
					break;
				}
				i--;
			}

			if (0 > i) {
				break;
			}

			int j = a.length - 1;
			while (j > i) {
				if (a[j] > a[i]) {
					break;
				}
				j--;
			}

			temp = a[i];
			a[i] = a[j];
			a[j] = temp;
			revert(a, i + 1, a.length - 1);
			for (int k : a) {
				System.out.print(k);

			}
			System.out.println();
		}
	}