vbs(asp)的栈类

来源:互联网 发布:mysql 自动优化工具 编辑:程序博客网 时间:2024/05/12 06:28

vbs(asp)的栈类

用js可以用array对象很容易的实现栈的功能,但在vbs中没有相应的功能,没办法,只有自己动手了:(  如果你的栈不了解请查看数据结构的相关内容。这个栈类是参照c++的栈类写的,用法一样。用这个类你也可以很方便的修改出队列的类:)

 

<%'**********************************************' vbs栈类' push(string)进栈' getTop取栈顶元素' pop去掉栈顶元素' isempty是否栈空' isfull是否栈满(pMax设置了大小,可自行修改)'' 木鸟 2002.10.10' http://www.aspsky.net/'**********************************************

class Stackprivate pArr, pString, pMaxprivate tabprivate sub class_initialize()tab=chr(9)pMax=1000 '最大容量end subprivate sub class_terminate()if isarray(pArr) thenerase pArrend ifend sub

public function push(str)if str<>"" and instr(str,tab)<1 and not Isfull thenif isarray(pArr) thenpString=join(pArr,tab)end ifpString=pString & tab & strpArr=split(pString,tab)push=trueelsepush=falseend ifend function

public function GetTop()if not isarray(pArr)<0 thenGetTop=nullelseif ubound(pArr)<0 thenGetTop=nullelseGetTop=pArr(Ubound(pArr))end ifend ifend function

public function Pop()if not isArray(pArr) thenPop=falseelseif Ubound(pArr)<0 thenPop=falseelsepString=join(pArr,tab)pString=left(pString,inStrRev(pString,tab)-1)pArr=split(pString,tab)Pop=trueend ifend ifend function

public function Isempty()if not isArray(pArr) thenIsempty=trueelseif Ubound(pArr)<0 thenisempty=trueelseisempty=falseend ifend ifend function

public function Isfull()if not isArray(pArr) thenIsfull=falseelseif ubound(pArr)<pMax thenIsfull=falseelseIsfull=trueend ifend ifend functionend class%>

原创粉丝点击