swift-algorithms

Commonly used sequence and collection algorithms for Swift (by apple)

Swift-algorithms Alternatives

Similar projects and alternatives to swift-algorithms

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a better swift-algorithms alternative or higher similarity.

swift-algorithms reviews and mentions

Posts with mentions or reviews of swift-algorithms. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-12-10.
  • -❄️- 2023 Day 11 Solutions -❄️-
    145 projects | /r/adventofcode | 10 Dec 2023
    While you are correct about the stdlib, check out swift-algorithms (https://github.com/apple/swift-algorithms). It's written by Apple and has several interesting methods.
  • Do you use algorithms in Swift?
    3 projects | /r/swift | 25 Mar 2023
    We used Swift Algorithms once or twice. It just depends on the app. I suggest starting with the WWDC video.
  • Checking the largest values in an arrary
    1 project | /r/swift | 12 Dec 2022
    Install swift-algorithms and use min/max(count:by:)
  • -πŸŽ„- 2022 Day 6 Solutions -πŸŽ„-
    223 projects | /r/adventofcode | 5 Dec 2022
    #!/usr/bin/env swift sh import Algorithms // https://github.com/apple/swift-algorithms struct StandardInput: Sequence, IteratorProtocol { func next() -> String? { return readLine() } } func markerEnd(for signal: String, markerLength: Int) -> Int { return Array(signal.windows(ofCount: markerLength)) .firstIndex { Set($0).count == markerLength }! + markerLength } let signals = StandardInput().compactMap { $0 } let part1 = signals.map { markerEnd(for: $0, markerLength: 4)}.reduce(0, +) let part2 = signals.map { markerEnd(for: $0, markerLength: 14)}.reduce(0, +) print("part 1 : \(part1)") print("part 2 : \(part2)")
  • -πŸŽ„- 2022 Day 5 Solutions -πŸŽ„-
    263 projects | /r/adventofcode | 4 Dec 2022
    #!/usr/bin/env swift sh import Algorithms // https://github.com/apple/swift-algorithms typealias Label = Character typealias Instruction = (amount: Int, source: Int, destination: Int) struct StandardInput: Sequence, IteratorProtocol { func next() -> String? { return readLine(strippingNewline: false) } } let sections = StandardInput() .compactMap { $0 } .split(separator: "\n") .map { Array($0) } let stacks = parseStacks(from: sections[0]) let instructions = parseInstructions(from: sections[1]) print(apply(instructions, to: stacks, oneAtATime: true)) print(apply(instructions, to: stacks, oneAtATime: false)) // MARK: - Private private func parseStacks(from section: [String]) -> [[Label]] { let crates = section.map { let start = $0.index($0.startIndex, offsetBy: 1) return Array($0.suffix(from: start).striding(by: 4)) } let stackCount = crates[0].count var stacks: [[Label]] = Array(repeating: [Label](), count: stackCount) crates.reversed().forEach { for (index, label) in $0.enumerated() { stacks[index].append(label) } } return stacks.map { $0.filter { $0.isLetter } } } private func parseInstructions(from section: [String]) -> [Instruction] { return section.map { let tokens = $0.dropLast().split(separator: " ") return (Int(tokens[1])!, Int(tokens[3])! - 1, Int(tokens[5])! - 1) } } private func apply( _ instructions: [Instruction], to stacks: [[Label]], oneAtATime: Bool ) -> String { var stacks = stacks instructions.forEach { let cargo = Array(stacks[$0.source].suffix($0.amount)) stacks[$0.source] = stacks[$0.source].dropLast($0.amount) stacks[$0.destination].append( contentsOf: oneAtATime ? cargo.reversed() : cargo ) } return String(stacks.map { $0.last! }) }
  • -πŸŽ„- 2022 Day 3 Solutions -πŸŽ„-
    250 projects | /r/adventofcode | 2 Dec 2022
    Swift. Algorithms contains chunks(ofCount: 3) but I had to write chunks(totalCount:) myself.
  • -πŸŽ„- 2022 Day 1 Solutions -πŸŽ„-
    260 projects | /r/adventofcode | 30 Nov 2022
    Algorithms has `max(count:)` now. πŸ’»πŸ–₯️
  • foursum?
    1 project | /r/badcode | 13 Mar 2022
    Create windows of 4 elements.
  • Understanding algorithms
    2 projects | /r/iOSProgramming | 29 Jan 2022
    There is also a swift algorithm package that’s a precursor to the standard library if you want to examine legit implementation built into Swift.
  • -πŸŽ„- 2021 Day 1 Solutions -πŸŽ„-
    252 projects | /r/adventofcode | 30 Nov 2021
    I used Algorithms and took inspiration from Kotlin with it's zipWithNext function.
  • A note from our sponsor - SaaSHub
    www.saashub.com | 17 May 2024
    SaaSHub helps you find the best software and product alternatives Learn more β†’

Stats

Basic swift-algorithms repo stats
26
5,716
6.4
10 days ago

Sponsored
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com