hello-algo/codes/swift/utils/Vertex.swift
nuomi1 04b0fb7455
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>
2023-02-21 21:35:28 +08:00

40 lines
911 B
Swift
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/**
* 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
}
}