7 października na GitHubie pojawił się od Apple nowy pakiet algorytmów sekwencjonowania i gromadzenia danych typu open source wraz z powiązanymi typami.

Pakiet Swift-algorithms zawiera szereg potężnych, uogólnionych algorytmów często spotykanych w innych popularnych językach programowania. Twórcy mają nadzieję, że ten nowy pakiet pomoże ludziom opanować zaawansowane algorytmy, zwiększy poprawność i wydajność ich kodu.

Zestaw początkowych algorytmów zawiera operacje sekwencjonowania i zbierania, dzięki którym można przełączać elementy kolekcji, znajdować kombinacje i permutacje, tworzyć losową próbkę i nie tylko.

Pakiet zawiera:

Kombinacje / permutacje

Algorytmy mutujące

Łączenie kolekcji

  • chained(with:) Łączy dwie kolekcje z tym samym typem elementu.
  • product(_:_:) Iteruje po wszystkich parach dwóch kolekcji; odpowiednik zagnieżdżonych pętli forin
  • cycled()cycled(times:) Powtarza elementy kolekcji w nieskończoność lub określoną liczbę razy.

Operacje zbiorów

Inne przydatne operacje

  • chunked(by:)chunked(on:) Operacje, które dzielą kolekcję na porcje na podstawie predykatu binarnego lub gdy zmienia się wynik projekcji.
  • indexed() Iteruj po krotkach indeksów i elementów kolekcji.