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