出一个思考题

lou_df 2001-08-29 05:03:27
如何将一个字符串中固定数量的字符做一个全排列,写出程序。举一个例子:abcd 的2个字符的排列是 ab ac ad ba bc bd ca cb cd da db dc 。
...全文
212 25 打赏 收藏 转发到动态 举报
写回复
用AI写文章
25 条回复
切换为时间正序
请发表友善的回复…
发表回复
lou_df 2001-09-03
  • 打赏
  • 举报
回复
感谢pctommy(pctommy)。分给你了。思考题是帮助大家开拓思路,活跃气氛。这次的题目比较基础一些,相信很多人都感兴趣。
pctommy 2001-09-03
  • 打赏
  • 举报
回复
好!大家都来研究一些关于算法的东东!
pctommy 2001-09-02
  • 打赏
  • 举报
回复
up
pctommy 2001-09-02
  • 打赏
  • 举报
回复
不了解什么?如果是程序方面的我可以尽力解释
小乖 2001-09-01
  • 打赏
  • 举报
回复
不了解什么意思。
pctommy 2001-09-01
  • 打赏
  • 举报
回复
不过,给谁分倒不重要,编程是为了快乐,所以才编程
pctommy 2001-09-01
  • 打赏
  • 举报
回复
还有,我写程序的时候,string变量我一直都用st前缀,这也算独一无二了
homqom(操作者)我根本就不认识!

我的代码可是写了整整一个下午了啊…………!!



pctommy 2001-09-01
  • 打赏
  • 举报
回复
是我先答的,你不信我就给你vbp文件看。
pctommy 2001-08-31
  • 打赏
  • 举报
回复
up
pctommy 2001-08-31
  • 打赏
  • 举报
回复
如果仅仅完成叙述的功能,回朔就是这么简单
pctommy 2001-08-31
  • 打赏
  • 举报
回复
up
homqom 2001-08-31
  • 打赏
  • 举报
回复
Dim nRange As Integer
Dim nDeep As Integer
Dim stString As String
Dim st1 As String
Dim st2 As String



Private Sub Command1_Click()
nRange = 3
stString = "abcd"

st2 = ""
Start (st2)


End Sub

Sub Start(stPrv As String)
Dim i
Dim stPrivate As String

nDeep = nDeep + 1

If nDeep = nRange + 1 Then nDeep = nDeep - 1: GoTo SkipThisLayer
For i = 1 To Len(stString)
stPrivate = Mid(stString, i, 1)
If InStr(stPrv, stPrivate) = 0 Then
st1 = stPrv + stPrivate
If nDeep = nRange Then MsgBox st1
Start (st1)

End If
Next i
nDeep = nDeep - 1
SkipThisLayer:
End Sub
pctommy 2001-08-31
  • 打赏
  • 举报
回复
up
lou_df 2001-08-31
  • 打赏
  • 举报
回复
pctommy(pctommy)和homqom(操作者)答案一样,如果是同一人,我就给一个人分数。该不会抄袭吧?
ozw 2001-08-30
  • 打赏
  • 举报
回复
是不是想做黑客程序啊!?
lou_df 2001-08-30
  • 打赏
  • 举报
回复
无法得出正确结果。
lou_df 2001-08-30
  • 打赏
  • 举报
回复
我测试一下。
pctommy 2001-08-30
  • 打赏
  • 举报
回复
《数据结构》是什么书?
ColderRain 2001-08-30
  • 打赏
  • 举报
回复
《数据结构》里有这样的例题!好象不是这么简单哟!
pctommy 2001-08-30
  • 打赏
  • 举报
回复
非常抱歉,我肯定有问题:

这回保证没有错:
Dim nRange As Integer
Dim nDeep As Integer
Dim stString As String
Dim st1 As String
Dim st2 As String



Private Sub Command1_Click()
nRange = 3
stString = "abcd"

st2 = ""
Start (st2)


End Sub

Sub Start(stPrv As String)
Dim i
Dim stPrivate As String

nDeep = nDeep + 1

If nDeep = nRange + 1 Then nDeep = nDeep - 1: GoTo SkipThisLayer
For i = 1 To Len(stString)
stPrivate = Mid(stString, i, 1)
If InStr(stPrv, stPrivate) = 0 Then
st1 = stPrv + stPrivate
If nDeep = nRange Then MsgBox st1
Start (st1)

End If
Next i
nDeep = nDeep - 1
SkipThisLayer:
End Sub
加载更多回复(5)
作者:July、阿财。 时间:二零一一年十月十三日。 ------------------------------ 无私分享造就开源的辉煌。 今是二零一一年十月十三日,明日14日即是本人刚好开博一周年。在一周年之际,特此分享微软面试 全部100题答案的完整版,以作为对本博客所有读者的回馈。 一年之前的10月14日,一个名叫July 的人在一个叫csdn 的论坛上开帖分享微软等公司数据结构+算法 面试100题,自此,与上千网友一起做,一起思考,一起解答这些面试题目,最终成就了一个名为:结构之法 算法之道的编程面试与算法研究并重的博客,如今,此博客影响力逐步渗透到海外,及至到整个互联网。 在此之前,由于本人笨拙,这微软面试100题的答案只整理到了前60题(第1-60题答案可到本人资源下 载处下载:http://v_july_v.download.csdn.net/),故此,常有朋友留言或来信询问后面40题的答案。只是 因个人认为:一、答案只是作为一个参考,不可太过依赖;二、常常因一些事情耽搁(如在整理最新的今年 九月、十月份的面试题:九月腾讯,创新工场,淘宝等公司最新面试十三题、十月百度,阿里巴巴,迅雷搜狗 最新面试十一题);三、个人正在针对那100题一题一题的写文章,多种思路,不断优化,即成程序员编程 艺术系列。自此,后面40题的答案迟迟未得整理。且个人已经整理的前60题的答案,在我看来,是有诸多问 题与弊端的,甚至很多答案都是错误的。 互联网总是能给人带来惊喜。前几日,一位现居美国加州的名叫阿财的朋友发来一封邮件,并把他自己 做的全部100题的答案一并发予给我,自此,便似遇见了知己。十分感谢。 任何东西只有分享来才更显其价值。本只需贴后面40题的答案,因为前60题的答案本人早已整理上 传至网上,但多一种思路多一种参考亦未尝不可。特此,把阿财的答案再稍加整理番,然后把全部100题的答 案现今都贴来。若有任何问题,欢迎不吝指正。谢谢。 上千上万的人都关注过此100题,且大都都各自贡献了自己的思路,或回复于微软100题维护地址上,或 回复于本博客内,人数众多,无法一一标明,特此向他们诸位表示敬意和感谢。谢谢大家,诸君的努力足以影 响整个互联网,咱们已经迎来一个分享互利的新时代。 感谢诸君,请享用.....

7,762

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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