Тема: Сортировка массива переменных типа String. Как?
Здравствуйте!
Подскажите пожалуйста, алгоритм сортировки переменных типа String в массиве. Количество знаков в каждой переменной - от 1 до 7.
Заранее спасибо.
Информационный портал для профессионалов в области САПР
Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
Форумы CADUser → Программирование → VBA → Сортировка массива переменных типа String. Как?
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Здравствуйте!
Подскажите пожалуйста, алгоритм сортировки переменных типа String в массиве. Количество знаков в каждой переменной - от 1 до 7.
Заранее спасибо.
Имеется ввиду сортировка в алфавитном порядке.
а никак!!! берёшь и пишешь алгоритм сортироффки... нету встроенной функции в VBA...
алгоритм возьми "альгоритм пузырька" к примеру
> wl2000
Метод пузырька
Sub BubbleSort(MyArray() As Variant) Dim First As Integer Dim Last As Integer Dim i As Integer Dim j As Integer Dim Temp As String Dim List As String First = LBound(MyArray) Last = UBound(MyArray) For i = First To Last - 1 For j = i + 1 To Last If MyArray(i) > MyArray(j) Then Temp = MyArray(j) MyArray(j) = MyArray(i) MyArray(i) = Temp End If Next j Next i For i = 1 To UBound(MyArray) List = List & vbCrLf & MyArray(i) Next MsgBox List End Sub
~'J'~
> fixo
а чё ты массиф объявил variant, а Temp как string???
А как передать(получить) массив в процедуру или функцию?
> todesengel
А без разницы
Sub demo() Dim employees() As Variant employees = Array("Brian", "Michael", "Iain", "John", "Johnathan", "Williams", _ "Bradley", "Samuel", "Robert", "Sean", "Andrew", "Zacharia") Call BubbleSort(employees) End Sub
~'J'~
Оператором Call не пользуюсь. В каких случаях его применяют?
И почему с ним процедура BubbleSort работает, а без него нет?
> Vildar
Здесь Call можно убрать, только тогда аргумент
employees надо писать без скобок
В общем случае Call применяют когда
исполняемая процедура находится в другом модуле
а не в этом же
~'J'~
На счет Call глюканул, звиняйте.
Просто у меня вбито(откуда, не знаю) в башке что массивы нельзя использовать в аргументах процедур.
Значит можно, и без всяких ограничений, любых типов? Попробую конешна.
Может и функция как-то может возвращать массив?
Может и функция как-то может возвращать массив?
Например так
Function QQQQQ (......) as Variant Dim myArray() as .... ..................... QQQQQ = myArray() End Function
Алгоритмы сортировки см.:
http://algolist.manual.ru/sort/index.php
Да и вообще, алгоритмы...
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Форумы CADUser → Программирование → VBA → Сортировка массива переменных типа String. Как?
Форум работает на PunBB, при поддержке Informer Technologies, Inc