Sub Class_Globals
Private data As List
End Sub
Public Sub Initialize
data.Initialize
End Sub
Public Sub Push(o As Object)
data.Add(o)
End Sub
Public Sub Pop As Object
Dim o As Object = data.Get(data.Size - 1)
data.RemoveAt(data.Size - 1)
Return o
End Sub
Public Sub Peak As Object
Return data.Get(data.Size - 1)
End Sub
Public Sub getSize As Int
Return data.Size
End Sub
Usage example:
B4X:
Dim s As Stack
s.Initialize
For i = 1 To 10
s.Push(i)
Next
Do While s.Size > 0
Log(s.Pop)
Loop
Sub Class_Globals
Private data As List
End Sub
Public Sub Initialize
data.Initialize
End Sub
Public Sub Push(o As Object)
data.Add(o)
End Sub
Public Sub Pop As Object
Dim o As Object = data.Get(data.Size - 1)
data.RemoveAt(data.Size - 1)
Return o
End Sub
Public Sub Peak As Object
Return data.Get(data.Size - 1)
End Sub
Public Sub getSize As Int
Return data.Size
End Sub
Usage example:
B4X:
Dim s As Stack
s.Initialize
For i = 1 To 10
s.Push(i)
Next
Do While s.Size > 0
Log(s.Pop)
Loop