文档章节

vbs打乱字符串字符排列的顺序

孟飞阳
 孟飞阳
发布于 2016/07/09 11:09
字数 306
阅读 18
收藏 0
vbs

1、源码 

Dim Str, Str1, count, XngShi, tt, t, i, j
count=0
XngShi=Inputbox("请输入字符内容","提示")
If XngShi="" then 
Msgbox "输入不能为空!", 4096, "注意"
EndScript
End If
Msgbox "[输入内容]"& XngShi, 4096, "提示"
Do until count>=Len(XngShi)
Randomize
n=Int(Rnd*2*Len(XngShi))  '随机数范围是字符长度的两倍
Str1 = "."& n &"."
If Instr(Str, Str1)=0 then
Execute ("a"&n &"=""" & Mid(XngShi, count+1, 1)  & """")
Str = Str & Str1
Redim Preserve b(count)
b(count)=n
count = count+1
Else
End If
Loop
'解码顺序 变量名&Str的变量名
'冒泡排序
For j=1 to Len(XngShi)-1
  For i=Len(XngShi)-1 to j Step -1
      If b(i)<b(i-1) then
         t=b(i)
         b(i)=b(i-1)
         b(i-1)=t
      End If
  Next
Next
For i=0 to Len(XngShi)-1
cc=b(i)
WW=WW & Eval("a"& cc)
'tt = tt & b(i) & vbcrlf '冒泡排序的结果
Next
'Msgbox tt
Msgbox "[随即排列]"& WW, 4096, "提示"
'下面用于还原字符串位置
Dim MyArray
MyArray = Split(Right(left(Str, Len(Str)-1), Len(Str)-2), "..")
' UBound(MyArray)+1 一定等于 Len(XngShi)
Dim xx, yy, zz
For xx=0 to UBound(MyArray)
yy=MyArray(xx)
zz = zz& Eval("a"& yy)
Next
Msgbox "[还原结果]"& zz, 4096, "提示"

2、演示

双击以上源码,在弹出的界面中输入几个字符,如:acb,

随机排列结果:

© 著作权归作者所有

孟飞阳
粉丝 212
博文 1005
码字总数 552521
作品 5
朝阳
个人站长
私信 提问
javascript sort函数探究

有一个常见问题:如何给一个对象数组排序?如下代码 一般js老司机都知道这样写: 但是为什么这样呢,s是用什么排序原理,为什么需要一个这个函数。MDN的解释稍微明白一些 compareFunction 可选...

Kurset
2017/12/05
0
0
确定某字符串的所有排列组合

/** * 功能:确定某字符串的所有排列组合。 / 注意:不考虑重复字符。若考虑重复字符,只需在加入permulations时去掉重复的字符串即可。 [java] view plain copy /* * 思路:元素由少到多,将...

一贱书生
2016/11/22
4
0
Fastjson和Jackson序列化和读取json的性能实测

偶然间看到的阿里出品的Fastjson,网上对这个json包好评如潮,性能胜Jackson10倍。 本人本着眼见为实的想法,自己测试一下两者的性能比较。 POJO对象名字为User,具体代码就不贴了,里面有两...

derekxyz
2014/04/24
0
0
对字符串排序并且删除重复字符串

问题介绍 提示用户输入一组字符串,然后将字符串按照ascii码顺序从小到大排列,并且删除重复的字符串,打印排列好的字符串,输出删除字符的个数。 C语言实现 第一种方法:先排序,再删除重复...

断桥残雪断桥残雪
2015/12/09
134
0
陌陌2019秋招研发编程题题解

交换两个整型 题目描述 输入 输出 样例输入 样例输出 代码实现 字符串排列 题目描述 输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排...

武培轩
2018/10/10
0
0

没有更多内容

加载失败,请刷新页面

加载更多

干货 | 解读MySQL 8.0新特性:Skip Scan Range

MySQL从8.0.13版本开始支持一种新的range scan方式,称为Loose Skip Scan。该特性由Facebook贡献。我们知道在之前的版本中,如果要使用到索引进行扫描,条件必须满足索引前缀列,比如索引idx...

迷你芊宝宝
16分钟前
1
0
观点 | 云原生时代来袭 下一代云数据库技术将走向何方?

全面云化的时代已经到来,面对一系列的新技术和挑战,数据库市场将面临怎样的变革?作为云服务提供商,如何帮助更多的企业级用户把握“云”潮,提供最高效、最具价值的数据库解决方案? 日前...

zhaowei121
25分钟前
1
0
ReentrantLock是如何基于AQS实现的

ReentrantLock是一个可重入的互斥锁,基于AQS实现,它具有与使用 synchronized 方法和语句相同的一些基本行为和语义,但功能更强大。 lock和unlock ReentrantLock 中进行同步操作都是从lock方...

java菜分享
25分钟前
0
0
比特币钱包开发【C#】

在这个教程中,我们将使用C#来开发一个比特币钱包,我们使用NBitcoin这个库。教程中的代码实现了比特币的存储、接收和支付功能,可以很容易地移植到其他应用中。 如果要快速掌握在C#程序中N...

汇智网教程
26分钟前
0
0
centos7.4编译安装nginx

1、安装准备环境 yum install gcc gcc-c++ automake pcre pcre-devel zlip zlib-devel openssl openssl-devel pcre* 下载pcre wget https://jaist.dl.sourceforge.net/project/pcre/pcre/8.......

Marhal
27分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部