带重复元素的数组全排列问题。c++实现
#include
using namespace std;
void swap(int &a, int &b)
{
int temp = a;
a = b;
b = temp;
}
void perm(int list[], int low, int high)
{
if (low == high)
{
for (int i = 0;
i <= low;
i++)
cout << list[i];
cout << endl;
}
else
{
for (int i = low;
i <= high;
i++)
{
if ((list[i] == list[low])&(i != low))
{
continue;
}
swap(list[i], list[low]);
perm(list, low + 1, high);
swap(list[i], list[low]);
}
}
}
int main()
{ int list[] = {1,2,3};
perm(list, 0, 2);
system("pause");
return 0;
}
【带重复元素的数组全排列问题。c++实现】
推荐阅读
- 基于微信小程序带后端ssm接口小区物业管理平台设计
- 标签、语法规范、内联框架、超链接、CSS的编写位置、CSS语法、开发工具、块和内联、常用选择器、后代元素选择器、伪类、伪元素。
- 精神,带我走向人生的天堂!
- 带有Hilt的Android上的依赖注入
- python自定义封装带颜色的logging模块
- 皮夹克
- 油菜花田的小路像绶带
- 不废话,代码实践带你掌握|不废话,代码实践带你掌握 强缓存、协商缓存!
- 《离开却带走了“能量的魔杖”(52)》能量爱情公寓
- 《生不带来死不带去》