vbs(asp)的栈类

王朝asp·作者佚名  2006-12-16
窄屏简体版  字體: |||超大  

用js可以用array对象很容易的实现栈的功能,但在vbs中没有相应的功能,没办法,只有自己动手了:(

如果你的栈不了解请查看数据结构的相关内容。这个栈类是参照c++的栈类写的,用法一样。用这个类你也可以很方便的修改出队列的类:)

<%

'**********************************************

' vbs栈类

' push(string)进栈

' getTop取栈顶元素

' pop去掉栈顶元素

' isempty是否栈空

' isfull是否栈满(pMax设置了大小,可自行修改)

'

' 木鸟 2002.10.10

' http://www.aspsky.net/

'**********************************************

class Stack

private pArr, pString, pMax

private tab

private sub class_initialize()

tab=chr(9)

pMax=1000 '最大容量

end sub

private sub class_terminate()

if isarray(pArr) then

erase pArr

end if

end sub

public function push(str)

if str<>"" and instr(str,tab)<1 and not Isfull then

if isarray(pArr) then

pString=join(pArr,tab)

end if

pString=pString & tab & str

pArr=split(pString,tab)

push=true

else

push=false

end if

end function

public function GetTop()

if not isarray(pArr)<0 then

GetTop=null

else

if ubound(pArr)<0 then

GetTop=null

else

GetTop=pArr(Ubound(pArr))

end if

end if

end function

public function Pop()

if not isArray(pArr) then

Pop=false

else

if Ubound(pArr)<0 then

Pop=false

else

pString=join(pArr,tab)

pString=left(pString,inStrRev(pString,tab)-1)

pArr=split(pString,tab)

Pop=true

end if

end if

end function

public function Isempty()

if not isArray(pArr) then

Isempty=true

else

if Ubound(pArr)<0 then

isempty=true

else

isempty=false

end if

end if

end function

public function Isfull()

if not isArray(pArr) then

Isfull=false

else

if ubound(pArr)<pMax then

Isfull=false

else

Isfull=true

end if

end if

end function

end class

%>

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航