Здравствуйте. Есть два списка строк, из 1 списка, надо удалить все строки, которые имеются во втором, если они там есть.
Сделал небольшую схемку, но, чтото при большом списке строк, она не всегда работает и не удаляет некоторые строки.
Может можно сделать както по другому? Подскажите пожалуйста примером.
code_32561.txt
Этот топик читают: Гость
Ответов: 902
Рейтинг: 27
|
|||
карма: 1 |
| ||
файлы: 1 | code_32561.txt [1.5KB] [129] |
Ответов: 2059
Рейтинг: 132
|
|||
juk
Тут важно, на сколько велики спски. Если списки приблизительно по 100 кило, то стоит ипользовать IC, а если один из списков значительно больше, например 200>, то стоит строить таблицу индексов и хешировать строки. Т.е. хещируешь строку из списка А, это будет индексом в таблице индексов для таблици Б. Есть варианты, - Поиск методом половинного деления... Но без индексации списки будут сравниваться до второго пришествия! Впрочем судя по всему, ждать осталось не долго. |
|||
карма: 6 |
|
Ответов: 902
Рейтинг: 27
|
|||
В первом списке не более 200-300 строк, во втором не более 10.
Думаю до второго пришествия, можно успеть сравнить несколько раз. Если можно, покажите схему отличную от моей, как это можно сделать. |
|||
карма: 1 |
|
Ответов: 2059
Рейтинг: 132
|
|||
карма: 6 |
| ||
файлы: 1 | code_32563.txt [1KB] [314] |
Разработчик
Ответов: 26158
Рейтинг: 2127
|
|||
flint2 писал(а): Примерно такА ничего, что содержится нештатный компонент Некоторые принципиально не используют сторонние компоненты. ------------ Дoбавленo в 11.48: juk, а вот так не проще будет твоя схема
|
|||
карма: 22 |
|
Ответов: 2059
Рейтинг: 132
|
|||
nesco,
Я пока не могу разобраться, как их отсортировать. Правильно я понимаю, что все то, что исчезает после обновления, и есть не стандартные? И каковы критерии оценки - можно их применять, или нет? Ведь некоторые компоненты очень хорошо подходят для определенного случая. Как мне разобраться? |
|||
карма: 6 |
|
Разработчик
Ответов: 26158
Рейтинг: 2127
|
|||
flint2 писал(а): Ведь некоторые компоненты очень хорошо подходят для определенного случая.Для себя -- сколько угодно. На форуме тоже можно, но если дать ссылку на этот компонент или приложить его к архиву. И если сторонний компонент начнет глючить, то ответственность за него несет только автор, которого может уже давно не быть на форуме. ------------ Дoбавленo в 12.06: flint2 писал(а): Правильно я понимаю, что все то, что исчезает после обновления, и есть не стандартные?В принципе, штытным считается все, что находится на SVN |
|||
карма: 22 |
| ||
Голосовали: | juk |
Ответов: 902
Рейтинг: 27
|
|||
nesco, Спасибо, так конечно гораздо лутьше.
flint2, Вам тоже спасибо за помощь, хоть нестандартные компоненты я и не использую. Так как часто обновляю программу. |
|||
карма: 1 |
|
Ответов: 1536
Рейтинг: 176
|
|||
juk писал(а): лутьшеjuk писал(а): нестандартные компоненты я и не использую. Так как часто обновляю программу |
|||
карма: 1 |
|
Ответов: 16884
Рейтинг: 1239
|
|||
flint2 писал(а): стоит ипользовать IC |
|||
карма: 25 |
|
Ответов: 2059
Рейтинг: 132
|
|||
Tad,
Я так понял, что речь идет о хешировании строк и поиска в хеш-таблице. Вот фрагмент кода, имеющий право на жизнь. code_32572.txt |
|||
карма: 6 |
| ||
файлы: 1 | code_32572.txt [2.4KB] [363] |
Ответов: 16884
Рейтинг: 1239
|
|||
flint2 писал(а): Вот фрагмент кода, имеющий право на жизнь.juk писал(а): Есть два списка строк, из 1 списка, надо удалить все строки, которые имеются во втором, если они там есть.Tad писал(а): Хотелось бы посмотреть на эту IC. |
|||
карма: 25 |
|
Ответов: 2059
Рейтинг: 132
|
|||
Tad,
А засунуть его в IC и выполнить задание
Наверное можно было и это сделать, если-бы не другие, гораздо важные задания. И право, - мы не вшколе. не пробовали ?
Пробовал. Пробовал на мегабайтных списках и с более сложными операциями, чем замена и удаление. Это из рабочей программы, удаление там тоже есть. Не рисовать же весь IC. Совет заключался в том, что при больших списках, не стоит что либо делать на отдельных компонентах. Не более того. Tad писал(а)Хотелось бы посмотреть на эту IC. а не на "фрагмент кода"
Гораздо полезней сделать такой компонент, в смысле такой хеш-функции. Была такая мысль, но подумал, что это опять дискретный компонент, который бесболезен, когда нужно применять хеш-таблици. |
|||
карма: 6 |
|
13