Le tableau dynamique ASP fournit des méthodes Add, Insert, Remove, RemoveAt, Search et autres. Les objets peuvent être stockés dans des tableaux indépendamment des problèmes d'efficacité
Copiez le code comme suit :
Vecteur de classe
données vectorielles privées()
Private initial_capacity 'Capacité d'initialisation
Privatecapacity_increment 'Incrément de capacité
Private element_count 'Nombre d'éléments
Capacité totale privée max_capacity '
Sous-classe privée_Initialize()
Supprimer tout
Fin du sous-marin
Fonction publique RemoveAll()
nombre_élément = 0
capacité_initiale = 10
capacité_incrément = 10
capacité_max = capacité_initiale
ReDim vector_datas (initial_capacity)
Fonction de fin
Propriété publique Get Count()
Nombre = element_count
Propriété de fin
Propriété publique obtenir la capacité()
Capacité = max_capacity
Propriété de fin
Propriété publique GetInitialCapacity()
CapacitéInitiale = capacité_initiale
Propriété de fin
Propriété publique Get CapacityIncrement()
CapacitéIncrément = capacité_incrément
Propriété de fin
Propriété publique par défaut Obtenir l'élément (index)
Si IsObject(vector_datas(index)) Alors
Définir l'élément = vector_datas (index)
Autre
Article = vector_datas (index)
Fin si
Propriété de fin
Fonction publique Ajouter (élément)
Appeler Insert (element_count, element)
Fonction de fin
Fonction publique Supprimer (élément)
Indice de luminosité
index = Recherche (élément)
RemoveAt(index)
Supprimer=index
Fonction de fin
Fonction publique RemoveAt (index)
Faible je
Pour i = index + 1 Pour element_count - 1 Étape 1
Appelez InternalElement (i - 1, vector_datas (i))
Suivant
element_count = element_count - 1
Si max_capacity - capacité_increment > element_count Alors
max_capacity = max_capacity - capacité_increment
ReDim Préserver vector_datas (max_capacity)
Fin si
Fonction de fin
Recherche de fonction publique (élément)
Faible je
Pour i = 0 À element_count - 1 Étape 1
Si vector_datas(i) = élément Alors
Recherche = je
Fonction de sortie
Fin si
Suivant
Recherche=-1
Fonction de fin
Insertion de fonction publique (index, élément)
Si index > element_count Alors
Err.Raise 20903, "Vecteur", "Index du tableau hors limites.", "", 0
Fin si
Si element_count = 0 Alors
Appeler InternalElement (0, élément)
SinonSi index = element_count Alors
Appelez InternalElement (element_count, element)
Autre
Faible je
Pour i = element_count To index + 1 Étape -1
Appelez InternalElement (i, vector_datas (i - 1))
Suivant
Appeler InternalElement (index, élément)
Fin si
element_count = element_count + 1
Si element_count = max_capacity Alors
max_capacity = element_count + capacité_increment
ReDim Préserver vector_datas (max_capacity)
Fin si
Fonction de fin
Fonction publique SetElementAt (index, élément)
Si index < 0 Ou index > element_count - 1 Alors
Err.Raise 20903, "Vecteur", "Index du tableau hors limites.", "", 0
Fin si
Appeler InternalElement (index, élément)
Fonction de fin
Fonction privée InternalElement (index, élément)
En cas d'erreur, reprendre ensuite
Si IsObject (élément) Alors
Définir vector_datas (index) = élément
Autre
vector_datas(index) = élément
Fin si
Si Err.Number <> 0 Alors
MsgBox("Erreur d'élément interne du vecteur : " & vbCrLf & " Source de l'erreur : " & Err.Source & vbCrLf & " Numéro d'erreur : " & Err.Number & vbCrLf & " Description de l'erreur : " & Err.Description & vbCrLf)
Err.Clear 'Effacer les informations d'erreur
Fin si
Fonction de fin
Private Sub Class_Terminate() 'Destruction de classe
Erase vector_datas 'Libérez la mémoire occupée par le tableau et définissez chaque élément sur Nothing
initial_capacity = Vide
capacité_increment = Vide
element_count = Vide
max_capacity = Vide
Fin du sous-marin
Fin du cours
Cet article provient du blog CSDN. Veuillez indiquer la source lors de la réimpression :