现有一个这样的数组:(示例)
1
2
3
6
5
4
8
9
2
5
6
......
数组大小不变,在数组末加入一个数据,数组第一个数据删除
怎样才能实现?(注意数组很大)
1
2
3
6
5
4
8
9
2
5
6
......
数组大小不变,在数组末加入一个数据,数组第一个数据删除
怎样才能实现?(注意数组很大)
解决方案 »
- vb main函数l里怎么样彻底 退出程序
- 如何?利用API屏蔽F5 F9 F10 F11 F12 这句个键 ?
- 关于CTLBAR32.OCX生成执行程序后不能显示
- Microsoft.Jet.OLEDB.4.0应该怎样添加啊???我怎么找不到啊???我用的是vb6.0,请网友告诉我该怎样添加,谢谢!!!!
- 如何更改 VSFlexGrid 7.01 默认输入法为中文
- 用treeview提取xml文件的问题!!!(写出代码验证正确者独得200分,人多的话另开帖给分)
- 一个极简单的问题:如何将一段字符串按空格分段赋值给相应的变量
- 打印方面的高手请进!
- 我要用winhelp做一个帮助文件,但用word做主题文件时,$ # K却不管用(在word中)
- 怎么加载lyftools控件!手动家载!高分急!!!1
- VB提取EXCEL指定数据问题
- 看看还有多少兄弟搞VB 的,有一个工作机会!
Dim a() As Integer
Dim p As LongPrivate Sub Command1_Click()
MsgBox a(p) & "-" & a(UBound(a))
End SubPrivate Sub Command2_Click()
p = p + 1
ReDim Preserve a(99 + p)
a(UBound(a)) = UBound(a)
End SubPrivate Sub Form_Load()
Dim i As Integer
ReDim a(99)
For i = 0 To 99
a(i) = i
Next i
End Sub
Option Explicit
Dim str As String
Dim a As VariantPrivate Sub Command2_Click()
Dim i As Integer
i = InStr(str, ",")
str = Mid(str, i + 1)
str = str & "," & CInt(Rnd * 10000)
'Dim a As Variant
a = Split(str, ",")
End SubPrivate Sub Form_Load()
Dim i
For i = 1 To 10000
str = str & "," & CInt(Rnd * 10000)
Next
str = Mid(str, 2)
End Sub就是用一字符串来存放数组,然后对字符串简单操作,然后再分割
Dim a() As Integer = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
Dim i As Integer
Do While i < a.Length - 1
a(i) = a(i + 1)
i = i + 1
Loop
a(a.Length) = 11
这样的缺点是速度慢
方法2.不清楚楼主的具体应用,但可以考虑这样试试:由于数组大小不变,只需要用一个变量存储数组开始那个元素的索引号就可以了,赋值后,变量加一或归0,这样可以避免移动整个数组,适用于大数组。
dim x(100) as integer
dim ii as integer
for ii = 0 to 100
x(ii) = rnd * 100
nextdim byt(101 * 2 -1) as byte
call copymemory(byt(0),xx(0),101*2)
call copymemory(xx(0),xx(2),100*2)xx(100) = newdata