《晓寒》:全排序的算法(PASCAL)

来源:百度文库 编辑:高校问答 时间:2024/05/05 15:12:35
Problem
将一个字符组全排序

Input
一个长度小于10的字符串,该字符串由数字1~9组成。字符不会重复出现。

Output
按数字在输入串中出现的次序从小到大的顺序输出该字符组的全排序

Sample Input
132

Sample Output
1 3 2
1 2 3
3 1 2
3 2 1
2 1 3
2 3 1

不是吧,acm题
http://acm.tongji.edu.cn/showproblem.php?problem_id=1002
我不多说什么了,给你发了程序,要重在理解。

free pascal编译

program tju1002;
var
s,h:string;
procedure perm(s:string);
var
i:byte;
begin
if length(s)=1 then begin
writeln(h,s);
exit;
end;
for i:=1 to length(s) do begin
h:=h+s[i]+' ';
perm(copy(s,1,i-1)+copy(s,i+1,length(s)-i));
delete(h,length(h)-1,2);
end;
end;
begin
readln(s);
perm(s);
end.