Я использую функцию пузырьковой сортировки для сортировки объектов по их свойствам.К сожалению, мне пришлось написать одну функцию для каждого свойства.Есть ли способ обобщить функции ниже.
Вместо написания
SortArticlesByVolume(a)
SortArticlesByLenght(a)
Я хотел бы написать что-то вроде:
SortArticles(a, volume)
Sub SortArticlesByVolume (ByRef статьиКак вариант)
Dim sorted As Boolean
Dim i As Integer
sorted = False
Do While Not sorted
sorted = True
For i = 0 To UBound(articles) - 1
If articles(i).volume < articles(i + 1).volume Then
Set temp = articles(i + 1)
Set articles(i + 1) = articles(i)
Set articles(i) = temp
sorted = False
End If
Next i
Loop
Конец Sub
Sub SortArticlesBylenght (ByRef Articles As Variant)
Dim sorted As Boolean
Dim i As Integer
sorted = False
Do While Not sorted
sorted = True
For i = 0 To UBound(articles) - 1
If articles(i).lenght < articles(i + 1).lenght Then
Set temp = articles(i + 1)
Set articles(i + 1) = articles(i)
Set articles(i) = temp
sorted = False
End If
Next i
Loop
Конец Sub