DavidSkrundz / Collections

Various Collections and Data Structures

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Collections

Various Collections and Data Structures

Importing

import Generator
import Graph
import Pair
dependencies: [
	.package(url: "https://github.com/DavidSkrundz/Collections.git",
	         from: "2.0.0")
],
targets: [
	.target(
		name: "",
		dependencies: [
			"Generator", "Graph", "Pair"
		]),
]

Generator

Implements to Iterator but also allows reversing (previous() -> Element?)

Graph

A basic graph class that implements:

func neighbours(of vertex: Vertex<T>) -> [Vertex<T>]
func reachable(from vertex: Vertex<T>) -> [Vertex<T>]
reachable(from vertex: Vertex<T>, where canReach: (_ distance: Int, _ edge: U?) -> Bool) -> [Vertex<T>]

pair(_:_:)

Like zip(_:_:) but returns a Sequence containing the cartesian product (all pairs) of the two sequences

About

Various Collections and Data Structures

License:GNU Lesser General Public License v3.0


Languages

Language:Swift 100.0%