类似堆栈的功能的数组??????

use_zj 2010-05-13 03:52:22
类似堆栈的功能
这个数组中我不断的放数据进去,后放的数据会把前面的数据顶掉

...全文
84 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
兔子-顾问 2010-05-14
  • 打赏
  • 举报
回复
push和pop是堆栈的。这是队列。只有入队和出队。
use_zj 2010-05-13
  • 打赏
  • 举报
回复
wuyazhe的方法是可以的,但是有没有写好的类???

我记得有个push和pop的方法,它们是哪个数组里面的,能实现我这个功能吗?
use_zj 2010-05-13
  • 打赏
  • 举报
回复
flyfkue vb.net中有循环列表这样的类吗?
flyfkue 2010-05-13
  • 打赏
  • 举报
回复
循环链表可以实现.
汗.三句话发了三次.
flyfkue 2010-05-13
  • 打赏
  • 举报
回复
堆栈是filo
flyfkue 2010-05-13
  • 打赏
  • 举报
回复
楼主说的是fifo.做个链表吧.
beijingbeerman 2010-05-13
  • 打赏
  • 举报
回复
Arraylist 可以,或者用queue队列。
Arraylist arr =new Arraylist();
arr.Add(数据加这里);


对了,还可以用Hashtable
Elpson 2010-05-13
  • 打赏
  • 举报
回复
楼主说的根本不是堆栈的原理··
mngzilin 2010-05-13
  • 打赏
  • 举报
回复
            List<string> list = new List<string>();
list.Add("okokok");//添加项

list.Add("123123");//添加新的进去
list.RemoveAt(list.Count);//把最后一项去掉
use_zj 2010-05-13
  • 打赏
  • 举报
回复
我看看先
use_zj 2010-05-13
  • 打赏
  • 举报
回复
wyz&xyl 要是我要变量中能始终保持10个数呢?(注意:后存入的数将第一个数顶掉)
兔子-顾问 2010-05-13
  • 打赏
  • 举报
回复
以上的演示中,循环的往自定义的队列添加了20个元素,但无论如何,最多就是10个,不会比10个多。
兔子-顾问 2010-05-13
  • 打赏
  • 举报
回复
你可能要的是队列,但队列也不是你说的那样的,看看数据结构就明白了。你没有办法顶掉某个数据,只能看起来有点像。内存上顶掉意味着内存块的复制。频繁操作是很慢的。
系统有一个队列的类:Queue,但是需要你主动释放,否则总是增加。我们可以继承自这个类,修改方法,达到你的目的。
    Public Class FixSizeQueue(Of T)
Inherits Queue(Of T)
Private QueueSize As Integer = 50 'default is 50
Public Sub New(ByVal size As Integer)
QueueSize = size
End Sub
Public Sub New()

End Sub
Public Overloads Sub Enqueue(ByVal item As T)
MyBase.Enqueue(item)
If Me.Count > Me.QueueSize Then
Dequeue()
End If
End Sub
End Class

Public Sub TestMyFixSizeQueue()
Dim myQueue As New FixSizeQueue(Of Integer)(10)
For i As Integer = 0 To 20
myQueue.Enqueue(i)
Next
Dim builder As New StringBuilder
For Each i As Integer In myQueue
builder.AppendFormat("{0} ", i.ToString("00"))
Next
MessageBox.Show(builder.ToString())
End Sub

Peter200694013 2010-05-13
  • 打赏
  • 举报
回复
[Quote=引用楼主 use_zj 的回复:]
类似堆栈的功能
这个数组中我不断的放数据进去,后放的数据会把前面的数据顶掉
[/Quote]
顶掉?
覆盖?
兔子-顾问 2010-05-13
  • 打赏
  • 举报
回复
这个数组中我不断的放数据进去,后放的数据会把前面的数据顶掉
这不是堆栈,堆栈是
压栈1 -> 1
压栈2 -> 21
压栈3 -> 321
然后弹栈3 -> 21
然后弹栈2 -> 1
然后弹栈1 -> 空

你要的不就是变量么?
dim a as integer
a = 5
a = 6'a不在是5了。
use_zj 2010-05-13
  • 打赏
  • 举报
回复
哪个数组有这样的功能?????

16,554

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧