CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Delphi >  语言基础/算法/系统设计

递归算法,求解!

楼主yao518(一剑飘雪)2003-11-01 13:49:56 在 Delphi / 语言基础/算法/系统设计 提问

我给出三个字符串:   abc  
   
  怎样知道他的全部排制方式,   比如:  
   
  a,   b,   c,   aa,   ab,   ac,   ba,   bb,   bc,   ca.....  
   
  等,请高手指点!谢谢! 问题点数:0、回复次数:7Top

1 楼zzlingaaa(小舟)回复于 2003-11-03 10:32:11 得分 0

用得着递归吗?循环穷举一下不就可以了?Top

2 楼yao518(一剑飘雪)回复于 2003-11-03 20:25:42 得分 0

循环有太多代码了,如果想知道任意代码的所有排列,那么循环就不行了!Top

3 楼donny2000(阿峰)回复于 2003-11-03 20:44:36 得分 0

函数我就不写了   方法如下:  
  一个字符只有一种  
  2个字符   三种  
  判断字符的长度     >   2  
  取出   第一个字符   剩余的字符   递规调用该函数Top

4 楼passos(古月春秋)回复于 2003-11-07 01:04:05 得分 0

procedure   AllList(FullStr:   String;   ResultStr:   String;   MaxLength:   Integer);  
  var  
      I:   Integer;  
  begin  
      if   Length(ResultStr)   =   MaxLength   then  
      begin  
          Writeln(ResultStr);  
          Exit;  
      end;  
   
      for   I   :=   1   to   Length(FullStr)   do  
      begin  
          if   Pos(FullStr[I],   ResultStr)   =   0   then  
              AllList(FullStr,   ResultStr   +   FullStr[I],   MaxLength);  
      end;  
  end;  
   
   
  调用  
  var  
      I:   Integer;  
      S:   String;  
  begin  
      S   :=   'abcdefgh';  
      for   I   :=   1   to   Length(S)   do  
          AllList(S,   '',   I);  
      readln;  
  end.Top

5 楼bitamd(虫虫)回复于 2003-11-10 21:02:42 得分 0

感觉这段代码有点问题把:)  
  如果输入的字串中有重复的就出现问题了:)Top

6 楼passos(古月春秋)回复于 2003-11-11 00:17:38 得分 0

输入的串有重复你说该怎么做呢?去掉?全排列的输入本来就不应该是有重复的,即使有也是应该按照输入的来做的。或者你给一个比较好的解决方案?Top

7 楼cnhxjt(瓶子)回复于 2003-11-11 10:59:57 得分 0

支持   passos(古月春秋)Top

相关问题

  • 求解约瑟夫问题的递归算法
  • 算法求解
  • 求解算法
  • 求一递归算法?
  • 递归算法请教
  • C递归算法问题
  • 求解算法,急
  • 求解一算法
  • 求解一算法
  • 关于递归的问题,求解。

关键词

  • 字符
  • 代码
  • fullstr
  • alllist
  • resultstr
  • 输入
  • 重复
  • maxlength
  • begin
  • integer

得分解答快速导航

  • 帖主:yao518

相关链接

  • Delphi类图书
  • Delphi类源码下载
  • Delphi控件下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo