mirror of
https://github.com/krahets/hello-algo.git
synced 2025-12-19 07:17:54 +08:00
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:
40
codes/swift/utils/Vertex.swift
Normal file
40
codes/swift/utils/Vertex.swift
Normal 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
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user