求一个简单的算法(50分)

  • 主题发起人 主题发起人 kevinelly
  • 开始时间 开始时间
K

kevinelly

Unregistered / Unconfirmed
GUEST, unregistred user!
从数组{a,b,c,d,e}
插入位置1,2,3,4,5的所有组合
求最快的算法,谢谢
 
没看懂什么意思
 
总之要求出a,b,c,d,e五个字母的所有排列是吧。
我用C++写了个,也不知楼主是不是这个意思。
#include<iostream.h>
void order(char *now,int len,char *out,int nn)
{
if(len==1){
out[nn-len]=now[len-1];
cout<<endl;
for(int l=0;l<nn;l++)
cout<<out[l];
return;
}
int x;
char *left;
left=new char[len-1];
for(int i=0;i<len;i++){
out[nn-len]=now;
x=0;
for(int fn=0;fn<len-1;fn++){
if(x==i)
x=x+1;
left[fn]=now[x];
x=x+1;
}
order(left,len-1,out,nn);
}
}
void main()
{
char out[5];
char a[5];
a[0]='a';
a[1]='b';
a[2]='c';
a[3]='d';
a[4]='e';
order(a,5,out,5);
}
 
楼主,以上程序适用吗?
 
楼主跑了
 
这个问题提的就不明白。
 
有数组{a,b,c,d,e}
分别插入位置1,2,3,4,5
求所有组合
求最快的算法,谢谢
 
还是不懂,是不是排列组合问题呀?
是排列还是组合?
 
用5层循环不就搞定了吗?还要什么最快的!
这就是最快的了!这个没什么算法在里面
 
对,排列组合,
 
用5层循环就可以,也是最快的
 
当然,还可以用递归,不过慢点
 
樓主也太懶了。這種帖子數據結構裡很多。
去翻翻吧。這個版帖子也不多。已答+等答也不過是27頁。
 
就是,自己看看去吧
 
sorry,我不知道怎么查找才能找得到啊~~~
 
google会不会?
不会,那没有办法。
看看这页的上面的全文检索,看见了吗?
看不见?
。。。。。。。。。。。
 
下拉找“基礎篇--數據結構”,點已答。只有23頁。這個版就是帖子少。找起來也方便。從頭往尾找吧。未答裡也可能有(人家可能有答案也沒結帳)這只有4頁。
 
一張。http://www.delphibbs.com/delphibbs/dispq.asp?lid=1853152
 
后退
顶部