排列的产生 方法1:(递归,深度优先产生) 程序如下: program pailei;
const m=4;
var a:array[1..m] of integer ;
b:array[1..m] of boolean;
procedure print;
var i:integer;
begin
for i:=1 to m do
write(a);
writeln;
end;
procedure try(dep:integer);
var i:integer;
begin
for i:=1 to m do
if b then
begin
a[dep]:=i; b:=false;
if dep=m then print else try(dep+1);
b:=true;
end;
end;
begin
fillchar(b,sizeof(b),true);
try(1);
end.
|