|
|
|
работа со списками
|
|||
|---|---|---|---|
|
#18+
Здравствуйте. Имеется два списка упорядоченных элементов. Надо на их основе получить третий список, в который включит в себя все элементы из второго списка, которых есть в первом. Исключить из результирующего списка все элементы из второго списка, которых которых нет в первом. И добавить все записи из первого, которых нет во втором. Подскажите куда копать Спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2013, 16:59 |
|
||
|
работа со списками
|
|||
|---|---|---|---|
|
#18+
все вроде хорошо, но вот этого И добавить все записи из первого, которых нет во втором. в один проход не получается ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2013, 17:13 |
|
||
|
работа со списками
|
|||
|---|---|---|---|
|
#18+
Долго ржал... ты вообще думаешь, что пишешь? авторполучить третий список, в который включит в себя все элементы из второго списка, которых есть в первом То есть элементы, которые есть И в первом списке, И во втором. авторИсключить из результирующего списка все элементы из второго списка, которых которых нет в первом. Тебе не очевидно, что таковых в итоговом списке нет? автордобавить все записи из первого, которых нет во втором Были все записи из первого, которые есть во втором. добавили все из первого, которых нет во втором. Что получили? первый список, из которого выброшены дублирующиеся записи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2013, 18:00 |
|
||
|
работа со списками
|
|||
|---|---|---|---|
|
#18+
Akina, Ага. Видимо напутал по конец дня. Вот так должно быть. 1. Все элементы которые есть И в первом списке И во втором. 2. Включить в результирующий все элементы первого списка, которых нет во втором. 3. НЕ ВКЛЮЧАТЬ в результрирующий список элементы второго списка если их нет в первом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2013, 18:56 |
|
||
|
работа со списками
|
|||
|---|---|---|---|
|
#18+
sergqПодскажите куда копать Копать нужно в сторону цикла while который обходит все элементы первого списка. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2013, 19:00 |
|
||
|
работа со списками
|
|||
|---|---|---|---|
|
#18+
sergqAkina, Ага. Видимо напутал по конец дня. Вот так должно быть. 1. Все элементы которые есть И в первом списке И во втором. 2. Включить в результирующий все элементы первого списка, которых нет во втором. 3. НЕ ВКЛЮЧАТЬ в результрирующий список элементы второго списка если их нет в первом. Та же самая пурга, получаем просто первый список. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2013, 19:02 |
|
||
|
работа со списками
|
|||
|---|---|---|---|
|
#18+
sergqAkina, Ага. Видимо напутал по конец дня. Вот так должно быть. 1. Все элементы которые есть И в первом списке И во втором. 2. Включить в результирующий все элементы первого списка, которых нет во втором. 3. НЕ ВКЛЮЧАТЬ в результрирующий список элементы второго списка если их нет в первом. Нужно запрогать LEFT OUTER JOIN . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2013, 19:06 |
|
||
|
работа со списками
|
|||
|---|---|---|---|
|
#18+
mayton, С первыми двумя пунктами вроде разобрался. А вот с третьим. Можно все это сделать за один проход по списку? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2013, 19:30 |
|
||
|
работа со списками
|
|||
|---|---|---|---|
|
#18+
sergqmayton, С первыми двумя пунктами вроде разобрался. А вот с третьим. Можно все это сделать за один проход по списку? Нет. Можно один из списков загнать в TreeSet или HashSet и работать как будто в "один проход". Но всё равно фул-скан обоих списков по заданию придётся сделать хотя-бы 1 раз. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2013, 19:40 |
|
||
|
работа со списками
|
|||
|---|---|---|---|
|
#18+
mayton, Посудите, но не строго ) первые два пункта Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. с третьим пунктом 3. НЕ ВКЛЮЧАТЬ в результирующий список элементы второго списка если их нет в первом. что-то перемудрил, но работает Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2013, 22:32 |
|
||
|
работа со списками
|
|||
|---|---|---|---|
|
#18+
sergq, Обратите внимание : sergqдва списка упорядоченных элементов проходя по первому списку и по второму паралельно в одном теле цикла , сравнивая эелементы между собой и на больше меньше (списки упорядочены) за один проход( цикл) можно отобрать все, что вам нужно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2013, 01:00 |
|
||
|
работа со списками
|
|||
|---|---|---|---|
|
#18+
А ведь док. прав. Это будет по аналогии с Merge Sort. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2013, 01:03 |
|
||
|
работа со списками
|
|||
|---|---|---|---|
|
#18+
ДохтаРОбратите внимание : sergqдва списка упорядоченных элементов Без дополнительного указания, что считается упорядоченностью (причём для каждого списка отдельно! где гарантия, что одно и то же?), этими сведениями можно смело пренебречь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2013, 08:44 |
|
||
|
работа со списками
|
|||
|---|---|---|---|
|
#18+
Вот такой вопрос возник. При проходе по спискам сравниваем ключ. И на основании этого сравнения делаем выводы. Хорошо , что если ключ один в каждом списке. А вот как быть как сравнивать, если в каждом списке в строке да и более ключа? Т.е по аналогии с базами данный PK состоит не из одного поля, а из двух или трех ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2013, 09:09 |
|
||
|
работа со списками
|
|||
|---|---|---|---|
|
#18+
А это уже твоя забота. Не знаешь - тряси преподавателя. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2013, 09:44 |
|
||
|
работа со списками
|
|||
|---|---|---|---|
|
#18+
AkinaДохтаРОбратите внимание : пропущено... Без дополнительного указания, что считается упорядоченностью (причём для каждого списка отдельно! где гарантия, что одно и то же?), этими сведениями можно смело пренебречь. Есть два варианта 1. Задачу поставил лид или архитектор. 2. Задачу дал преподаватель. Во всех перечисленных случаях , когда исполнитель проигнорил слово " упорядоченных " он зафейлится. В первом случае как велосипедостоитель перед руководсвом и коллегами, во втором получит двойку за невнимательность. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2013, 11:50 |
|
||
|
работа со списками
|
|||
|---|---|---|---|
|
#18+
ДохтаР , критерий упорядочивания может оказаться недостаточным для сравнения. Посему упорядоченность может оказаться недостаточной для поиска (не)вхождений эмуляцией сортировки слиянием. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2013, 12:03 |
|
||
|
работа со списками
|
|||
|---|---|---|---|
|
#18+
Akina ДохтаР , критерий упорядочивания может оказаться недостаточным для сравнения. Посему упорядоченность может оказаться недостаточной для поиска (не)вхождений эмуляцией сортировки слиянием. В общем случае , да. В случае формализованной постановки задачи - НЕТ. Если упорядоченность не помагает решать задачу, в условии о ней не говорят. просто упускают , оставляя на откуп реализующему. Если в формализованной постановке об упорядоченности однозначно сказано , значит упорядоченность правильная, и ею можно и нужно пользоваться при решении. Формальная логика постановщика должна соотвествать формальной логике реализующего, приблизительно так. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2013, 12:26 |
|
||
|
работа со списками
|
|||
|---|---|---|---|
|
#18+
Akina ДохтаР , критерий упорядочивания может оказаться недостаточным для сравнения. Посему упорядоченность может оказаться недостаточной для поиска (не)вхождений эмуляцией сортировки слиянием. Нельзя упорядочить не сравнивая. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2013, 12:28 |
|
||
|
работа со списками
|
|||
|---|---|---|---|
|
#18+
Вот скажем ставят тебе задачу: есть два почтовых ящика, упорядоченных по дате-времени получения писем, отбери письма, имеющиеся в обоих ящиках... Набор упорядочен? да, вполне себе тянет на связный список. Можно ли эту упорядоченность использовать для решения поставленной задачи? нельзя. ДохтаРЕсли упорядоченность не помагает решать задачу, в условии о ней не говорят. просто упускают , оставляя на откуп реализующему. Если в формализованной постановке об упорядоченности однозначно сказано , значит упорядоченность правильная, и ею можно и нужно пользоваться при решении. Формальная логика постановщика должна соотвествать формальной логике реализующего, приблизительно так. Вот есть категория людей, у которых от рождения к ногам привязаны грабли... Всё, что не указано явно, может быть как угодно. Для этого и существует этап детализации и уточнения задачи. Для этого и разрабатывают ТЗ стоимостью в полпроекта. На этом и горят тупые студенты. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2013, 12:50 |
|
||
|
работа со списками
|
|||
|---|---|---|---|
|
#18+
AkinaВот скажем ставят тебе задачу: есть два почтовых ящика, упорядоченных по дате-времени получения писем, отбери письма, имеющиеся в обоих ящиках... Набор упорядочен? да, вполне себе тянет на связный список. Можно ли эту упорядоченность использовать для решения поставленной задачи? нельзя. Мне таких глупых задач не ставят, и слава Богу AkinaВот есть категория людей, у которых от рождения к ногам привязаны грабли... Задача решается через left outer join за 3 минуты, не зависимо от того что как посортировано. нефик изобретать алгоритмические велосипеды за счет работодателя. AkinaВсё, что не указано явно, может быть как угодно. Для этого и существует этап детализации и уточнения задачи. Для этого и разрабатывают ТЗ стоимостью в полпроекта. На этом и горят тупые студенты. Исходя из упрощенной постановки в топике подразумевается, что задача школькно-учебная и упорядоченность правильная. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2013, 13:21 |
|
||
|
работа со списками
|
|||
|---|---|---|---|
|
#18+
ДохтаРИсходя из упрощенной постановки в топике подразумевается, что задача школькно-учебная и упорядоченность правильная. Исходя из опыта чтения форумных тем с учебными задачами я обычно делаю строго противоположный вывод. Но, опять же исходя из опыта - бОльшую часть преподавателей устраивает любое решение, отвечающее любому из возможных пониманий условия. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2013, 13:24 |
|
||
|
работа со списками
|
|||
|---|---|---|---|
|
#18+
Это обычная лаба по спискам. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2013, 13:31 |
|
||
|
работа со списками
|
|||
|---|---|---|---|
|
#18+
AkinaВот скажем ставят тебе задачу: есть два почтовых ящика, упорядоченных по дате-времени получения писем, отбери письма, имеющиеся в обоих ящиках... Набор упорядочен? да, вполне себе тянет на связный список. Можно ли эту упорядоченность использовать для решения поставленной задачи? нельзя. Два списка упорядочены, но не связаны. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2013, 13:55 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=38444088&tid=1341611]: |
0ms |
get settings: |
7ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
53ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
59ms |
get tp. blocked users: |
1ms |
| others: | 209ms |
| total: | 361ms |

| 0 / 0 |
