【求N个序列的排列组合算法:如list1[a,b,c],li-查字典问答网
分类选择

来自卞平的问题

  【求N个序列的排列组合算法:如list1[a,b,c],list2[d,e,f].list3[ghi]会排列产生(a,d,g)(a,d,h)(a,d,i)等有N个序列:N未知,每次从每一个序列中各取一个元素,组成新的序列,如list1[a,b,c],list2[d,e,f].list3[ghi]会】

  求N个序列的排列组合算法:如list1[a,b,c],list2[d,e,f].list3[ghi]会排列产生(a,d,g)(a,d,h)(a,d,i)等

  有N个序列:N未知,每次从每一个序列中各取一个元素,组成新的序列,如list1[a,b,c],list2[d,e,f].list3[ghi]会排列产生(a,d,g),(a,d,h),(a,d,i)...

  ,求得到新序列集合的算法.

1回答
2020-02-06 08:30
我要回答
请先登录
李立萍

  最容易想到是递归,先从第一个list里面取一个元素,那么就是有3中选择(a,b,c),取完一个元素后,问题就变成了在N-1个序列里的排列组合:

  //初始化所有的序列

  char[]list=newchar[3];

  list[]data=newlist[N]{/*初始化所有的list*/}

  char[]result=newchar[N];

  voidFun(intstart,list[]data,char[]result)

  {

  if(start==N)

  {

  //打印result

  return;

  }

  for(inti=0;i

2020-02-06 08:33:04

最新问答

推荐文章

猜你喜欢

附近的人在看

推荐阅读

拓展阅读

  • 大家都在看
  • 小编推荐
  • 猜你喜欢
  •