当前位置 博文首页 > 好玩的vbs特色代码vbs栈类

    好玩的vbs特色代码vbs栈类

    作者:admin 时间:2021-02-19 06:42

    数据结构的问题相当重要,如果你能描述出一个问题的输入和输出数据结构,那么这个问题就大有希望,数据结构并不是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

    js
下一篇:没有了