// 列出数组元素的所有排列组合
private void getArrayAllCompose(int[] nums) {
arrange(nums, 0);
}
// 列出数组元素的所有排列组合
private void arrange(int[] nums, int first) {
int size = nums.length;
if (first == size - 1) {
operate(nums);
return;
}
for (int i = first; i < size; i++) {
swap(nums, first, i);
arrange(nums, first + 1);
swap(nums, first, i);
}
}
// 交换元素
private void swap(int[] nums, int i, int j) {
int temp = nums[i];
nums[i] = nums[j];
nums[j] = temp;
}
// 对获取到的排列组合的一个数组进行操作
private void operate(int[] nums) {
int size = nums.length;
System.out.print("nums=");
for (int i = 0; i < size; i++) {
System.out.print(nums[i] + ",");
}
System.out.print("\n");
}
算法:列出数组元素的所有排列组合
最新推荐文章于 2023-03-12 21:25:33 发布