Vb.net 后进先出Visual basic

Vb.net 后进先出Visual basic,vb.net,visual-studio-2013,Vb.net,Visual Studio 2013,我有一个关于堆栈(哈希表的对应项)的问题。基本上我知道推送和弹出的方法。然而,有谁能告诉我当用户输入一个单词时该如何处理。列表框中删除所有元音,只插入辅音 试图研究此问题,但找不到。要回答问题的第二部分(似乎与队列或堆栈无关),请执行以下操作: 你可以这样做。当您在文本框中键入击键并将其放入堆栈时,它会截获您的击键,当您点击“输入”然后处理它时,会删除这些值并将其分配给列表框。如果这不是你要问的,你需要更清楚一点 Public Class Form1 Dim myStack As Sta

我有一个关于堆栈(哈希表的对应项)的问题。基本上我知道推送和弹出的方法。然而,有谁能告诉我当用户输入一个单词时该如何处理。列表框中删除所有元音,只插入辅音


试图研究此问题,但找不到。

要回答问题的第二部分(似乎与队列或堆栈无关),请执行以下操作:


你可以这样做。当您在文本框中键入击键并将其放入堆栈时,它会截获您的击键,当您点击“输入”然后处理它时,会删除这些值并将其分配给列表框。如果这不是你要问的,你需要更清楚一点

Public Class Form1
    Dim myStack As Stack(Of Char) = New Stack(Of Char)

    Private Sub processStack(value As Stack(Of Char))
        Dim temp As List(Of Char) = New List(Of Char)
        Do While value.Count > 0
            Dim c As Char = value.Pop
            Select Case c
                Case "a"c, "e"c, "i"c, "o"c, "u"c
                Case "A"c, "E"c, "I"c, "O"c, "U"c
                Case Else
                    temp.Add(c)
            End Select
        Loop
        ListBox1.Items.Add(New String(temp.ToArray))
    End Sub

    Private Sub TextBox1_KeyPress(sender As Object, e As KeyPressEventArgs) Handles TextBox1.KeyPress
        If Not e.KeyChar = vbCr Then
            myStack.Push(e.KeyChar)
        Else
            DirectCast(sender, TextBox).Clear()
            processStack(myStack)
        End If
    End Sub
End Class

我的错误是,无论如何,我只是在寻找一个解决方案,因为基本的推送和弹出是我找到的大多数。实际上,你在寻找一个FIFO(先进先出),它是后进先出。在发布之前,我根本没有检查。你的问题对我来说没有多大意义,首先你询问队列(或堆栈),然后你谈论将值插入ListBox以使一切都清楚,我基本上是在问,当用户输入一个单词并将其放入列表框时,push-and-pop在过滤元音时会产生什么想法。使用push-and-pop-of-Stack处理元音?
Public Class Form1
    Dim myStack As Stack(Of Char) = New Stack(Of Char)

    Private Sub processStack(value As Stack(Of Char))
        Dim temp As List(Of Char) = New List(Of Char)
        Do While value.Count > 0
            Dim c As Char = value.Pop
            Select Case c
                Case "a"c, "e"c, "i"c, "o"c, "u"c
                Case "A"c, "E"c, "I"c, "O"c, "U"c
                Case Else
                    temp.Add(c)
            End Select
        Loop
        ListBox1.Items.Add(New String(temp.ToArray))
    End Sub

    Private Sub TextBox1_KeyPress(sender As Object, e As KeyPressEventArgs) Handles TextBox1.KeyPress
        If Not e.KeyChar = vbCr Then
            myStack.Push(e.KeyChar)
        Else
            DirectCast(sender, TextBox).Clear()
            processStack(myStack)
        End If
    End Sub
End Class