全排列递归算法:
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.
本回答被提问者和网友采纳