Do zadania muszę napisać jakiś kod Haskella, który ma jako dane wejściowe skończoną listę składającą się z nieskończonej listy liczb całkowitych, każda lista monotonicznie rośnie.Jak mogę połączyć skończoną liczbę nieskończonych list w Haskell?
Teraz muszę połączyć je w jedną listę, która zamawia liczby całkowite. Ponadto wiele liczb całkowitych może pojawić się na wielu listach: na liście wyników każda liczba całkowita może pojawić się tylko raz na liście.
Więc jeśli dane wejściowe to na przykład [[1, 2, 6, 10, 28, 40, ...] [3, 4, 10, 28, 100, ...], [dowolna liczba list ]] wtedy wynik powinien wynosić [1, 2, 3, 4, 6, 10, 28, 40, 100, ...]
Trochę utknąłem tutaj. Nie wiem, jak skutecznie używać foldr
do łączenia list. Myślę, że powinienem porównać szefów każdej listy i sporządzić z niej nową listę.
Sortowanie nieskończonych list nie jest zazwyczaj łatwe. Gdybym miał dane wejściowe '[[1, 3, 4, 5, 6, ...], [1, 3, 5, 7, ..]]', i zacznę je sortować, aby uzyskać '[1, 3 , 4, 5, 6, 7, ...] ', skąd mam wiedzieć, że 2 nie pojawia się gdzieś na tych dwóch listach wejściowych? – bheklilr
Nie jest to możliwe, chyba że wiesz, że listy są monotonicznie rosnące, co, jak zgaduję, jest podane w przypisaniu. Czy możesz potwierdzić i pokazać nam, co wypróbowałeś? Ludzie tutaj są zwykle bardziej pomocni, jeśli robisz więcej niż mówisz "pokaż mi jak". –
Podejrzewam z przykładowych danych, że każda lista wejściowa jest już posortowana, a scalenie jest wszystkim, co jest wymagane. – AndrewC