输入一个字符串,要求输出字符串的所以可能排序。比如输入为:abc,那么输出有以下几种可能:abc,acb,bac

 我来答
百度网友4a1e5e210
2012-11-05 · TA获得超过477个赞
知道答主
回答量:84
采纳率:100%
帮助的人:16.9万
展开全部
‘给你个易语言M选N的算法
.版本 2
.程序集 窗口程序集1
.程序集变量 M, 整数型
.程序集变量 N, 整数型
.程序集变量 索引组, 字节型, , "0", 当完成一种组合时,以该数组各成员的值为索引,分别从“欲组合的数组”中取出对应索引的成员后合并起来,则得到组合的结果
.程序集变量 计数器, 整数型
.程序集变量 欲组合的数组, 文本型, , "0"
.子程序 _按钮1_被单击
欲组合的数组 = { “A”, “B”, “C”, “D”, “E”, “F” }
计数器 = 0
M选N (取数组成员数 (欲组合的数组), 3)
.子程序 M选N, , , 凌晨孤星
.参数 参数_M, 整数型
.参数 参数_N, 整数型
M = 参数_M
N = 参数_N
重定义数组 (索引组, 假, N) ' 索引组的数组成员数必须与N相等
递归 (N, 0) ' 此递归最大嵌套层次为N,因此完全不用担心栈空间不足。但递归意味着函数反复调用,开销较大。
.子程序 递归, , , 凌晨孤星
.参数 嵌套层次, 整数型
.参数 当前起始索引, 整数型
.局部变量 i, 整数型
.局部变量 j, 整数型
.局部变量 临时文本, 文本型
嵌套层次 = 嵌套层次 - 1
.变量循环首 (当前起始索引, M - 1, 1, i)
索引组 [嵌套层次 + 1] = i + 1 ' 记录本次组合的第 [嵌套层次] 个元素对应的索引值
.如果 (嵌套层次 = 0) ' 当 [嵌套层次] 为 0 是,表示已完成一种组合
计数器 = 计数器 + 1
临时文本 = “”
.计次循环首 (N, j) ' 从索引组中取出该组合各元素 取出组合结果到临时文本
临时文本 = 欲组合的数组 [索引组 [j]] + 临时文本
.计次循环尾 ()
输出调试文本 (“第 ” + 到文本 (计数器) + “ 种组合: ” + 临时文本) ' 输出组合结果!!!!!!!!!
.否则
递归 (嵌套层次, i + 1)
.如果结束
.变量循环尾 ()
追问
有程序代码吗?这看的好费力啊
爱吃大虾的螃蟹
2012-11-05 · TA获得超过147个赞
知道小有建树答主
回答量:305
采纳率:0%
帮助的人:193万
展开全部
这个还是比较简单的 重点是你要每次记录字符串的长度,再利用循环就可以了,就好像以下推荐的易语言写法一样。
首先 好比你说的abc 长度为3
第二部 循环输出 开始从a开始 即abc
第三部 循环从第二个字符开始 即b 输出bca
第四部 循环从第三个字符开始 即c 输出cba

整个程序写的好的话只需要双循环即可实现
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
web民工
2012-11-05 · TA获得超过469个赞
知道小有建树答主
回答量:959
采纳率:0%
帮助的人:414万
展开全部
多层循环加判断可以实现
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式