我想知道当每个元素的目标向量不同时,是否存在生成所有可能排列的函数或最佳方法。这是我的例子: 来自(a,b,c)的第一和第三元素,以及来自(a,b,c,d)的第二和第三元素。我想要长度为3的排列(其中36个):
typedef const char* RLUTIL_STRING_T;
。 。
提前致谢,
答案 0 :(得分:1)
您可以使用不带IEnumerable<Data> GetData() {
using (MehrpouyanEntities dbContext = new MehrpouyanEntities()) {
bool hasData = true;
for (int i = 1; hasData; ++i) {
int n = i;
hasData = false;
var query = dbContext.ReservedServices.Where(r =>
DbFunctions.AddDays(r.LastServiceDate, n * r.Duration) >= start &&
DbFunctions.AddDays(r.LastServiceDate, n * r.Duration) <= end);
foreach (var item in query) {
hasData = true;
yield return item;
}
}
}
}
参数的合并来进行所有可能的组合。
by
答案 1 :(得分:0)
您可以使用expand.grid()
执行此操作:
v1 <- c("a","b","c")
v2 <- v1
v3 <- v1
vFull <- expand.grid(v1,v2,v3)