来帮我看看这题怎么解 谢谢 急
PMsg 2005-04-28 09:48:46 以下是一个全排列算法的伪代码,利用此算法实现一个具体的程序(必须使用本算法):根据输入的任意整数m, 输出1..m的全排列。人机交互可以使用控制台IO或GUI。
假定A[1..m]包含m个不同的值
procedure permute(n)
1) if n = 1 then process(A) else
2) begin
3) B[1..n] := A[1..n]
4) permute(n - 1)
5) for i := 1 to (n - 1) do
6) begin
7) swap A[n] with A[1] <= 把A[n]与A[1]交换
8) permute(n - 1)
9) end
10) A[1..n] := B[1..n]循环右移一位
11) End