我想创建由三个操作符组成的字符串(例如:+-*
或++/
或+++
),并将每个字符串推入vector <string> opPermutations
中。
这是我现在的代码:
// Set up permutations for operators
string operatorBank[4] = {"+","-","*","/"};
do {
string currentPerm = operatorBank[0] + operatorBank[1] + operatorBank[2] + operatorBank[3];
this -> opPermutations.push_back(currentPerm);
} while ( std::next_permutation(operatorBank, operatorBank + 4) );
被推入向量中的排列(作为字符串)是:
+-*/
+-/*
+/*-
+/-*
-*+/
-*/+
-+*/
-+/*
-/*+
-/+*
/*+-
/*-+
/+*-
/+-*
/-*+
/-+*
然而,我希望我的排列方式如下:
- 每个排列应为三个字符长度
- 必须包括所有可能的排列,包括重复出现一次以上的字符。
我希望排列的组织方式如下:
+++
---
***
///
/*/
+-+
++*
**/
etc...
我该如何实现这个目标?
for
循环吗? - wlyles