您的位置:首页 > 编程语言 > VB

VB程序学习代码记录20160717

2016-07-17 16:04 465 查看
数组元素插入

Dim a() As Long

Private Sub Form_Load()
ReDim Preserve a(1 To 4)
a(1) = 1: a(2) = 2: a(3) = 3: a(4) = 4
Dim i As Long, m As Long
Debug.Print vbNewLine & "原数组元素:"
For i = 1 To 4
Debug.Print "a(" & CStr(i) & ")=" & CStr(a(i)),
Next i
Debug.Print vbNewLine & "插入后数组元素:"
Dim n As Long: n = 5
ReDim Preserve a(1 To 5)
For i = 2 To 5
m = a(i)
a(i) = n
n = m
Next i
For i = 1 To 5
Debug.Print "a(" & CStr(i) & ")=" & CStr(a(i)),
Next i
End Sub


数组元素删除

Dim a() As Long
Private Sub Form_Load()
ReDim a(1 To 4) As Long
Dim i As Long
a(1) = 1: a(2) = 2: a(3) = 3: a(4) = 4:
Debug.Print vbNewLine & "删除元素前"
For i = 1 To 4
Debug.Print "a(" & CStr(i) & ")=" & CStr(a(i)),
Next i
a(3) = a(4)
ReDim Preserve a(1 To 3)
Debug.Print vbNewLine & "删除元素后"
For i = 1 To 3
Debug.Print "a(" & CStr(i) & ")=" & CStr(a(i)),
Next i
End Sub


找到需要找到的数值

Private Sub Form_Click()
Dim a(1 To 10) As Long
Dim i As Integer
For i = 1 To 10
a(i) = i
Next i
a(8) = 19
For i = 1 To 10
Print "a(" & CStr(i) & ")=" & a(i)
Next i
For i = 1 To 10
If a(i) = 19 Then
MsgBox "查找的数值保存在数组元素a(" & CStr(i) & ")中。", vbOKOnly, "提示"
Exit For
End If
Next i
End Sub


选择排序法

Dim a(1 To 5) As Long
Private Sub Command1_Click()
a(1) = 3: a(2) = 2: a(3) = 7: a(4) = 9: a(5) = 5
Dim i As Long, l As Long, n As Long
For i = 1 To 4
For l = i To 5
If a(i) < a(l) Then
n = a(i)
a(i) = a(l)
a(l) = n
End If
Next l
Next i
For i = 1 To 5
Print "a(" & CStr(i) & ")=" & CStr(a(i)),
Next i
End Sub


冒泡排序法

Dim a(1 To 5) As Long

Private Sub Command1_Click()
a(1) = 3: a(2) = 2: a(3) = 7: a(4) = 9: a(5) = 5
Dim i As Long, l As Long, n As Long
For i = 1 To 4
For l = 1 To 4
If a(l) < a(l + 1) Then
n = a(l)
a(l) = a(l + 1)
a(l + 1) = n
End If
Next l
Next i
For i = 1 To 5
Print "a(" & CStr(i) & ")=" & CStr(a(i)),
Next i
End Sub


二分法排序

Dim myarray(100) As Integer

Private Sub Command1_Click()
Dim low, high, mid As Integer
Dim found As Boolean
low = 0
high = UBound(myarray)
found = False
mid = (high + low) / 2
Do While Not found And (high >= low)
If CInt(Text1.Text) = myarray(mid) Then
found = True
MsgBox (mid)
MsgBox (myarray(mid))
Exit Do
ElseIf CInt(Text1.Text) < myarray(mid) Then
high = mid - 1
Else
low = mid + 1
End If
mid = (high + low) / 2
Loop
End Sub

Private Sub Form_Load()
Dim i As Integer
For i = 0 To UBound(myarray)
myarray(i) = i + 5
Print myarray(i)
Next i
End Sub


记录数组

Private Type peo
nam As String
age As Integer
End Type

Private Sub Command1_Click()
Dim a(1 To 2) As peo
a(1).age = 20
a(1).nam = "五一"
a(2).age = 23
a(2).nam = "万多"
For i = 1 To 2
Print a(i).nam; a(i).age & "岁"
Next i
End Sub


查找下标为0、上标为99的数组中值为“奥运”的元素索引值。

Dim a(0 To 99) As String

Private Sub Form_Load()
Dim i As Integer
For i = 0 To 99
a(i) = "abcd"
Next i
a(88) = "奥运"
find
End Sub

Private Sub find()
Dim i As Integer
For i = 0 To 99
If a(i) = "奥运" Then
MsgBox "索引值为:" & i
Exit Sub
End If
Next i
End Sub
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: