Версия для печати
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум на Исходниках.RU > Visual Basic: Общие вопросы > Почему не работает For Each? |
Автор: Сергей85 15.01.17, 11:30 |
<{CODE_COLLAPSE_OFF}><{CODE_WRAP_OFF}> ReDim dResults_Massive(iCols_Max - 1, lRows_Max - 1, dFactorial_Max) g_dTemp = 0 For Each varTemp In dResults_Massive() varTemp = -1 g_dTemp = g_dTemp + 1 Next varTemp g_dTemp, как индикатор, показывает, что пробежка идет по всем элементам массива. Но элементы не изменяют своих значений! Массив дабловский. Добавлено При этом "dResults_Massive(0, 0, 0) = -2" корректно изменяет значения. |
Автор: Akina 15.01.17, 13:25 |
А кто сказал,что For each умеет по массиву? |
Автор: Славян 15.01.17, 14:09 |
Ну отладка показывает, что очень даже умеет. |
Автор: Akina 15.01.17, 15:05 |
Не-а... когда по массиву, то в итератор пишется копия, а когда по коллекции/объекту - то ссылка на оригинал. Тупо потому, что нельзя выбрать из массива элемент или там строку... Та же разница, что и ByRef/ByVal. |
Автор: Славян 15.01.17, 15:55 |
Ясно. Эх. |
Автор: Сергей85 20.01.17, 17:40 |
Цитата Славян @ Славян, тут по сортировкам информация такая получилась; что, я думаю, вам интересно будет. Оптимизация алгоритма сортировки Шелла. (сообщение #3703148) А также прошу ответа на этот вопрос: Сортировка текста в листбоксе или писать свой код? |
Автор: Славян 20.01.17, 18:10 |
Цитата Сергей85 @ Да, я читал вашу беседу. Токмо напрасно вы классику не слушаете. В худшем случае будете получать "ужасную" скорость (N2), а люди всё же стремятся получить и в худшем случае нечто получше, так что лучше всё же вам повертеться в районе быстрой сортировки. тут по сортировкам информация такая получилась; что, я думаю, вам интересно будет. |
Автор: Сергей85 20.01.17, 18:13 |
Цитата Славян @ Разве инверсия массива с "больше-меньше" на "меньше-больше" - не самый худший из вариантов? Добавлено Хотя да, для Шелла, судя по времени, это даже полегче, чем с рэндомом бороться... |
Автор: Славян 20.01.17, 18:27 |
Цитата Сергей85 @ Ну вики то дочитайте: там же даже конкретные схемы предложены, показывающие и N2 и N1,5 у Шелла, что хуже N*logN (сортировка слиянием). Разве инверсия массива с "больше-меньше" на "меньше-больше" - не самый худший из вариантов? |