快速业务通道

好玩的vbs特色代码第1/6页

作者 佚名 来源 ASP编程 浏览 发布时间 2013-07-09
,scheme
endif
next
setaa=scheme
endfunction

''setD=CreateObject("Scripting.Dictionary")
''D.Exists(

sublink(D1,D2)
''输入:D1结构体Dictionary
''输入返回:D2结构体Dictionary
foreachKinD1.Keys
ifnotD2.Exists(K)thenD2.addK,D1.Item(K)
next
endsub


functionback(K,T,L)
''输入:K步骤序列string
''输入:T上步骤执行时间int
''输入:L可选择的人员名单string
''输出:返回后的结构体Dictionary

setscheme=CreateObject("Scripting.Dictionary")
dimtempArr:tempArr=split(L)
foreachiintempArr
onceTime=personTime(cint(i))+T
P=trim(K&""&i)
lBank=otherBank(L)&""&i
rBank=otherBank(lBank)
scheme.AddP,Array(onceTime,lBank,rBank,1)
next
setback=scheme
endfunction

functionremove(L,i)
''输入:L人员名单string
''输入:i被移出人的编号int
''输出:移出后的人员名单string
L=L&""
L=replace(L,i&"","")
remove=trim(L)
endfunction

functionotherBank(L)
''输入:这岸的名单string
''输出:得到另外一个岸边的名单string
tempArr=split(L)
LL=startBank
foreachiintempArr
LL=remove(LL,i)
next
otherBank=LL
endfunction



functionmaxTime(x,y)
''输入:x,y人的编号int
''输出:得到两个人一次过河的最大时间int
a=personTime(cint(x))
b=personTime(cint(y))
ifa>bthenmaxTime=aelsemaxTime=b
endfunction

functionPtoMan(P)
''输入:P单个方案string
''输出:由两个人名组合的方案string
dimtempStr
dimbound:bound=ubound(personTime)
fori=0tobound
forj=0tobound
ifi<>jand(partner(i,j)=P)then
tempStr=i&""&j
exitfor
exitfor
endif
next
next
PtoMan=tempStr
endfunction

functionPforRead(P)
''输入:P有空格分隔的方案序列string
''输出:可读懂的方案序列string
tempArr=split(P)
dimtempStr
fori=0toubound(tempArr)
if(imod2)=0then
tempStr=tempStr&PtoMan(tempArr(i))&"过去"
else
tempStr=tempStr&tempArr(i)&"回来"
endif
next
PforRead=tempStr
endfunction

functionpartner(x,y)
''输入两个数,代表组合唯一值,存放到字符串里int
''输出:
a=cint(x)
b=cint(y)
partner=cstr(2^a+2^b)
endfunction

subshow(D)
''输入:D字典Dictionary
''显示字典中的内容
dimi:i=1
re="<tableborder=1>"
re=re&"<tr><td>行号</td><td>过河方案</td><td>花费时间</td><td>左岸状态</td><td>右岸状态</td><td>过河开关</td></tr>"
foreachkeyinD.Keys
re=re&"<tr><td>"&i&"</td><tdtitle=''"&key&"''>"&PforRead(key)&"</td>"
foreachainD.Item(key)
re=re&"<td>"&a&"</td>"
next
re=re&"</tr>"
i=i+1
next
re=re&"</table>"
ppp.innerHTML=re

endsub

functionD2Arr(D)
''输入:D字典Dictionary
''输出:时间结果数组,第一个元素设置为极小,不参与排序,array
dimkArr:kArr=D.keys
dimtempArr():redimtempArr(ubound(kArr)+1)
tempArr(0)=0
fori=0toD.count-1
tempArr(i+1)=D.Item(kArr(i))(0)
next
D2Arr=tempArr
endfunction

subsortA(Arr)
''输入:Arr时间结果数组array
''堆排序,复杂度n*log(n)/log(2),如果8个数就是24次,如果用冒泡是8^2=64次
dimn,i,L,ir,rArr,j
n=ubound(Arr)
L=int(n/2)+1
ir=n
do
ifL>1then
L=L-1
rArr=Arr(L)
else
rArr=Arr(ir)
Arr(ir)=Arr(1)
ir=ir-1
ifir=1then
Arr(1)=rArr
exitsub
endif
endif
i=L
j=2*L
whilej<=ir
ifj<irthen
ifArr(j)<Arr(j+1)thenj=j+1
endif
ifrArr<Arr(j)then
Arr(i)=A

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号