来帮我看看这题怎么解 谢谢 急

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
...全文
149 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
PMsg 2005-05-01
  • 打赏
  • 举报
回复
还是没人回答我啊
PMsg 2005-04-28
  • 打赏
  • 举报
回复
上面的vc6 运行出错
而且也不符合我说的那个算法要求啊
1982pc 2005-04-28
  • 打赏
  • 举报
回复
一题,抄书的
#include <cstdlib>
#include <iostream>

using namespace std;
template<class T> void swapl(T &x,T &y)
{
T temp = x;
x = y;
y = temp;
}
template<class T> void Perm(T list[],int k,int m)
{
if(k == m)
{
for(int i = 0;i <=m;++i)
{
cout<<list[i];
}
cout<<endl;
}
else
{
for(int i = k;i <= m;++i)
{
swapl(list[k],list[i]);
Perm(list,k + 1,m);
swapl(list[k],list[i]);
}
}
}
int main(int argc, char *argv[])
{
char a[] = {'a','b','c','d'};
Perm(a,0,3);
system("PAUSE");
return EXIT_SUCCESS;
}
PMsg 2005-04-28
  • 打赏
  • 举报
回复
还有这题
实现一个文件校验程序,用CRC算法(CRC的各种算法中只选用其中一种协议既可,例如CRC32)来生成校验码。要求实现的功能有:
1) 为指定的一个输入文件生成校验文件,校验文件格式如下:
; AlgorithmSignature=CRC32 <= 算法标志
; Version=1 <= 算法版本
readme.txt 53474338 <= 文件名 CRC校验码(16进制表示)
2) 使用BOOST提供的CRC库来实现
3) 待校验的输入文件按2进制字节流来计算其校验码。
4) 人机交互可以使用控制台IO或GUI(IDE支持)

64,683

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧