这是一个典型的递归例子- package interview;
-
- import java.util.Arrays;
-
- /**
- * @author clydelou
- *
- */
- public class Test {
-
- /**
- * @param args
- */
- public static void p(int[] a, int index) {
- if (a == null || index < 0)
- return;
- if (index == (a.length - 1))
- System.out.println(Arrays.toString(a));
-
- else {
- for (int i = index; i < a.length; i++) {
- int temp = a[i];
- a[i] = a[index];
- a[index] = temp;
-
- p(a, index + 1);
-
- temp = a[i];
- a[i] = a[index];
- a[index] = temp;
-
- }
- }
- }
-
- public static void main(String[] args) {
- // TODO Auto-generated method stub
- int[] a = { 1, 2, 3 };
- p(a, 0);
- }
-
- }
复制代码 |