麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > ASP > 正文

asp 動態數組 提供Add、Insert、Remove、RemoveAt、Search等方法。

2024-05-04 11:09:39
字體:
來源:轉載
供稿:網友
asp動態數組,提供Add、Insert、Remove、RemoveAt、Search等方法。可以在數組中存儲對象不考慮效率問題

復制代碼 代碼如下:


Class Vector

Private vector_datas()
Private initial_capacity '初始化容量
Private capacity_increment '容量增量
Private element_count '元素數
Private max_capacity '總容量

Private Sub Class_Initialize()
RemoveAll
End Sub

Public Function RemoveAll()
element_count = 0
initial_capacity = 10
capacity_increment = 10
max_capacity = initial_capacity
ReDim vector_datas(initial_capacity)
End Function

Public Property Get Count()
Count = element_count
End Property

Public Property Get Capacity()
Capacity = max_capacity
End Property

Public Property Get InitialCapacity()
InitialCapacity = initial_capacity
End Property

Public Property Get CapacityIncrement()
CapacityIncrement = capacity_increment
End Property

Public Default Property Get Item(index)
If IsObject(vector_datas(index)) Then
Set Item = vector_datas(index)
Else
Item = vector_datas(index)
End If
End Property

Public Function Add(element)
Call Insert(element_count, element)
End Function

Public Function Remove(element)
Dim index
index = Search(element)
RemoveAt(index)
Remove = index
End Function

Public Function RemoveAt(index)
Dim i
For i = index + 1 To element_count - 1 Step 1
Call InternalElement(i - 1, vector_datas(i))
Next
element_count = element_count - 1
If max_capacity - capacity_increment > element_count Then
max_capacity = max_capacity - capacity_increment
ReDim Preserve vector_datas(max_capacity)
End If
End Function

Public Function Search(element)
Dim i
For i = 0 To element_count - 1 Step 1
If vector_datas(i) = element Then
Search = i
Exit Function
End If
Next
Search = -1
End Function

Public Function Insert(index, element)
If index > element_count Then
Err.Raise 20903, "Vector", "Array Index Out Of Bounds.", "", 0
End If
If element_count = 0 Then
Call InternalElement(0, element)
ElseIf index = element_count Then
Call InternalElement(element_count, element)
Else
Dim i
For i = element_count To index + 1 Step -1
Call InternalElement(i, vector_datas(i - 1))
Next
Call InternalElement(index, element)
End If
element_count = element_count + 1
If element_count = max_capacity Then
max_capacity = element_count + capacity_increment
ReDim Preserve vector_datas(max_capacity)
End If
End Function

Public Function SetElementAt(index, element)
If index < 0 Or index > element_count - 1 Then
Err.Raise 20903, "Vector", "Array Index Out Of Bounds.", "", 0
End If
Call InternalElement(index, element)
End Function

Private Function InternalElement(index, element)
On Error Resume Next
If IsObject(element) Then
Set vector_datas(index) = element
Else
vector_datas(index) = element
End If
If Err.Number <> 0 Then
MsgBox("Vector InternalElement Error: " & vbCrLf & "Error Source: " & Err.Source & vbCrLf & "Error Number: " & Err.Number & vbCrLf & "Error Description: " & Err.Description & vbCrLf)
Err.Clear '清除錯誤信息
End If
End Function

Private Sub Class_Terminate() '類銷毀
Erase vector_datas '釋放數組占用的內存, 將每個元素都設為 Nothing
initial_capacity = Empty
capacity_increment = Empty
element_count = Empty
max_capacity = Empty
End Sub

End Class


本文來自CSDN博客,轉載請標明出處:

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 成年免费在线视频 | 黄网站色成年大片免费高 | a黄在线观看 | 在线天堂中文在线资源网 | hd porn 4k video xhicial| 久久亚洲精品11p | 一本色道久久综合亚洲精品小说 | 高清av免费| 一区二区三区日韩 | 免费一级特黄欧美大片勹久久网 | 一级做a爱片久久毛片a高清 | 色播一区 | 欧美亚成人 | 亚州精品天堂中文字幕 | 亚洲操比视频 | 国产精品免费一区二区三区四区 | 97超级碰碰人国产在线观看 | 国产午夜免费视频 | 91丨九色丨国产在线观看 | 欧美成网| 亚洲啊v在线观看 | 在线看小早川怜子av | a一级黄 | 欧美黄色大片免费观看 | 久久久久一本一区二区青青蜜月 | 亚洲视屏在线观看 | 黄色片在线播放 | 91成人免费在线观看 | 国产精品视频一区二区三区四 | 久久99久久98精品免观看软件 | 日本成人高清视频 | 国内精品视频饥渴少妇在线播放 | 综合日韩av| 黄色网络免费看 | 欧美日韩亚洲在线观看 | 国产无遮挡一区二区三区毛片日本 | 一级做a爱片性色毛片高清 日本一区二区在线看 | 蜜桃传媒视频麻豆第一区免费观看 | 99精品视频免费 | 操碰97 | 免费a级毛片永久免费 |