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个一行然后换行 展开
1
2
3
1
3
2
...
for i := 1 to n do
begin
form1.Memo1.Lines.Add( inttostr(arr[i]) );
continue;
end;
求助怎么实现3个一行然后换行 展开
1个回答
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.
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询