Delphi 中用一个数组实现全排列,比如三个数的全排列,我想要的效果是 123 132 321 312 ...

但是用Tmemo.line显示的效果是123132...fori:=1tondobeginform1.Memo1.Lines.Add(inttostr(arr[i]));... 但是用Tmemo.line 显示的效果是
1
2
3
1
3
2
...
for i := 1 to n do
begin
form1.Memo1.Lines.Add( inttostr(arr[i]) );
continue;
end;
求助怎么实现3个一行然后换行
展开
 我来答
匿名用户
2016-09-27
展开全部
全排列递归算法:
const
n=3;
type
st=string[n];
var
b:array[1..n] of boolean;
i:integer;

procedure next(i:integer;s:st);
var
p:integer;
t:string[1];
begin
if i>n then writeln(s)
else for p:=1 to n do 
if not b[p] then begin
str(p:1,t);
b[p]:=true;
next(i+1,s+t);
b[p]:=false;
end;
end;

begin
for i:=1 to n do b[i]:=false;
next(1,'');
end.


本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式