第2个回答 2011-12-10
下面这个程序是C语言的。
把下面这个程序修改一下,即可!
void print(int *arr, int select) {
for (int i = 0; i < select; ++i)
printf("%d ", arr[i]);
printf("\n");
}
void swap(int *i1, int *i2) {
int temp = *i1;
*i1 = *i2;
*i2 = temp;
}
void permutate(int *arr, int all, int select, int index) {
if (index == select) {
print(arr, select);
return;
}
for (int i = index; i < all; ++i) {
swap(arr + index, arr + i);
permutate(arr, all, select, index + 1);
swap(arr + index, arr + i);
}
}
void permutate(int *arr, int all, int select) {
permutate(arr, all, select, 0);
}
int main()
{
int arr[] = {1, 2, 3, 4, 5};
permutate(arr, 5, 3);
return 0;
}本回答被网友采纳