排列组合
程序代码:
组合问题 给定一个含有n个元素的整型数组a,从中任取m个元素,求所有组合。比如下面的例子 a = 1, 2, 3, 4, 5 m = 3 输出 1 2 3, 1 2 4, 1 2 5, 1 3 4, 1 3 5, 1 4 5 2 3 4, 2 3 5, 2 4 5 3 4 5 bool IsValid(int lastIndex, int value) { int buffer[100]; int i; for (i = 0; i < lastIndex; i++) { if (buffer[i] >= value) return false; } return true; } void Select(int t, int n, int m) { bool IsValid(int lastIndex, int value); int buffer[100]; int i; if (t == m) { printArray(buffer, m); } else { for (i = 1; i <= n; i++) { buffer[t] = i; if (IsValid(t, i)) { Select(t + 1, n, m); } } } } 为什么不行,求帮帮忙