mirror of
https://github.com/krahets/hello-algo.git
synced 2024-12-28 21:56:28 +08:00
04b0fb7455
* 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>
40 lines
911 B
Swift
40 lines
911 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
|
||
}
|
||
}
|