refactor: extract Vertex and use Array<Vertex> (#374)

* refactor: extract Vertex and use Array<Vertex>

* docs: add chapter to Package.swift

* Update graph_adjacency_list.swift

---------

Co-authored-by: Yudong Jin <krahets@163.com>
This commit is contained in:
nuomi1
2023-02-21 21:35:28 +08:00
committed by GitHub
parent 85be0e286b
commit 04b0fb7455
3 changed files with 74 additions and 35 deletions

View File

@@ -0,0 +1,40 @@
/**
* File: Vertex.swift
* Created Time: 2023-02-19
* Author: nuomi1 (nuomi1@qq.com)
*/
/* */
public class Vertex: Hashable {
public var val: Int
public init(val: Int) {
self.val = val
}
public static func == (lhs: Vertex, rhs: Vertex) -> Bool {
lhs.val == rhs.val
}
public func hash(into hasher: inout Hasher) {
hasher.combine(val)
}
/* vals vets */
public static func valsToVets(_ vals: [Int]) -> [Vertex] {
var vets: [Vertex] = []
for val in vals {
vets.append(Vertex(val: val))
}
return vets
}
/* vets vals */
public static func vetsToVals(_ vets: [Vertex]) -> [Int] {
var vals: [Int] = []
for vet in vets {
vals.append(vet.val)
}
return vals
}
}