排列的产生

[复制链接]
发表于 2023-12-30 09:45:38 | 显示全部楼层 |阅读模式
排列的产生
方法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.


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表