![]() |
![]() |
![]() |
|
Вариации на тему самого быстрого способа удаления строк из таблицы значений | ☑ | ||
---|---|---|---|---|
0
12345
14.10.04
✎
11:23
|
Есть такой конкурс. Кстати, mszus, слово "неправильно" пишеться слитно!
Это вариант TDV c очевидной оптимизацией. Воробей=МаксЗнач/2; Тз.Новаяколонка("Птичка"); Тз.Заполнить(Воробей,,,"Птичка"); Тз.ВыбратьСтроки(); КонСтрока=Мин(ТЗ.НоваяКолонка("СЛУЖ_КОЛ"), 0); ТЗ.ВыбратьСтроки(); Пока ТЗ.ПолучитьСтроку()=1 Цикл Если ТЗ.К<Тз.Птичка Тогда КонСтрока=КонСтрока+1; ТЗ.СЛУЖ_КОЛ=1; КонецЕсли; КонецЦикла; Если (КонСтрока=0) ИЛИ (КонСтрока=ТЗ.КоличествоСтрок()) Тогда ТЗ.КоличествоСтрок(КонСтрока); ТЗ.УдалитьКолонку("СЛУЖ_КОЛ"); Тз.УдалитьКолонку("Птичка"); Иначе ТЗ.Сортировать("-СЛУЖ_КОЛ"); ТЗ.УдалитьКолонку("СЛУЖ_КОЛ"); ТЗ.Выгрузить(ТЗ_СЛУЖ,,КонСтрока); ТЗ=ТЗ_СЛУЖ; Тз.УдалитьКолонку("Птичка"); КонецЕсли; Если ту же идею, то есть замену вызова функции обращением к дополнительной колонке в таблице значений, применить к методу NS, то будет еще быстрее (~10%). |
|||
1
Последний Будда
14.10.04
✎
11:31
|
Осмелюсь утверждать, что есть еще более быстрый способ. Давайте здесь проведем конкурс?
|
|||
2
Волшебник
14.10.04
✎
11:39
|
(0) здесь пишется "пишется". Прежде чем корректировать других, научись сам.
См. также: Какой самый быстрый метод удаление строк в ТЗ |
|||
3
12345
14.10.04
✎
11:46
|
Да, ошибся. Но ошибаться все могут, например "метод удаление" или "метод удаления"? :)
|
|||
4
12345
14.10.04
✎
11:51
|
(1) Вероятнее всего, такой способ есть. И думаю, что число наборов нужно увеличить, включив заполнение колонки ТЗ.К случайными числами. У кого есть хороший алгоритм генерации СЧ?
|
|||
5
Волшебник
14.10.04
✎
11:53
|
||||
6
Последний Будда
14.10.04
✎
11:56
|
Предлагаю такой вариант конкурса: Удалить все строки ТЗ, значения любых ячеек которой не входят в список значений фильтра.
|
|||
7
12345
14.10.04
✎
12:17
|
(6) такая задача на практике не встречаеться, по-крайнем мере такое нарочно не придумаешь, тогда как (0) при непродуманном алгоритме бывает.
|
|||
8
Рупор абсурда
14.10.04
✎
12:23
|
(0) Кстати, 12345, слово "mszus", пишется "mszsuz" ...
Слово "пишеться", пишется "пишется" ... |
|||
9
NS
14.10.04
✎
12:42
|
(0)Ты не оптимизировал удаление строк, а оптимизировал условие вхождения строки...
Неужели все такие идиоты, за несколько лет не догадались, а ты самый умный? |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |