Delphi 中用一个数组实现全排列,比如三个数的全排列,我想要的效果是 123 132 321 312 ...
答案:1 悬赏:30 手机版
解决时间 2021-11-21 01:37
- 提问者网友:酱爆肉
- 2021-11-20 20:20
Delphi 中用一个数组实现全排列,比如三个数的全排列,我想要的效果是 123 132 321 312 ...
最佳答案
- 五星知识达人网友:十鸦
- 2021-11-20 21:54
全排列递归算法:
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.
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.
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯