Стек - VB (170522)
Формулировка задачи:
Дан указатель P1 на вершину непустого стека. Извлечь из стека
первый (верхний) элемент и вывести его значение D, а также адрес P2
новой вершины стека. Если после извлечения элемента стек окажется
пустым, то положить P2 = nil. После извлечения элемента из стека осво-
бодить память, занимаемую этим элементом.
Решение задачи: «Стек»
textual
Листинг программы
Option Explicit Dim Stack As Collection, Pt As Variant Private Sub Push(ByVal Value As Variant) Stack.Add Value Pt = Stack.Count - 1 End Sub Private Function Pop() As Variant If Stack.Count = 0 Then Exit Function If IsObject(Stack(Stack.Count)) Then Set Pop = Stack(Stack.Count) Else Pop = Stack(Stack.Count) End If Stack.Remove (Stack.Count) If Stack.Count = 0 Then Pt = Null Else Pt = Stack.Count - 1 End Function Private Sub Form_Load() Dim P1 As Variant, P2 As Variant, D As Variant Set Stack = New Collection ' Заполняем Push "VB6" Push "ASM" Push "C++" Push 23 Push 0.3 ' Получаем указатель P1 P1 = Pt D = Pop D = Pop D = Pop D = Pop D = Pop ' После извлечения P2 P2 = Pt MsgBox "Указатель = " & IIf(IsNull(P2), "Null", P2) & vbNewLine & _ "Значение = " & D End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д