mirror of
https://github.com/krahets/hello-algo.git
synced 2024-12-28 05:56:30 +08:00
c6c4c9d997
* feat: add Swift codes for graph_traversal article * refactor: rename parameters * Update graph_dfs.swift --------- Co-authored-by: Yudong Jin <krahets@163.com>
40 lines
907 B
Swift
40 lines
907 B
Swift
/**
|
||
* 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
|
||
}
|
||
}
|