summaryrefslogtreecommitdiffstats
path: root/src/CS340.TSP/Tour.cs
diff options
context:
space:
mode:
authorToby Vincent <tobyv13@gmail.com>2021-04-22 20:43:24 -0500
committerToby Vincent <tobyv13@gmail.com>2021-04-22 20:43:24 -0500
commit2a5db460a9d9091238f64c48a640aac7cbe40678 (patch)
treea57b990a664e0cf8501660fe2bc5c329fcd16848 /src/CS340.TSP/Tour.cs
parentf77dd59b7cfe5c8237e5410156dd940bc7d7b069 (diff)
implemented graph printing
Diffstat (limited to 'src/CS340.TSP/Tour.cs')
-rw-r--r--src/CS340.TSP/Tour.cs11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/CS340.TSP/Tour.cs b/src/CS340.TSP/Tour.cs
index e6e5d40..d90ab7e 100644
--- a/src/CS340.TSP/Tour.cs
+++ b/src/CS340.TSP/Tour.cs
@@ -19,11 +19,16 @@ namespace TSP
// indexer: get vertex where vertex.Id == index
public City this[int index] { get => Cities.Find(vertex => vertex.Id == index); }
- public Tour(List<Vertex> cities) => Cities.AddRange(cities.Select(city => new City(city)));
- public Tour(List<City> cities) => Cities.AddRange(cities.Select(city => new City(city)));
- public Tour() => Cities = new List<City>();
+ public Tour() =>
+ Cities = new List<City>();
+
public Tour(Tour tour) : this(tour.Cities) { }
+ public Tour(List<City> cities) =>
+ Cities.AddRange(cities.Select(city => new City(city)));
+
+ public Tour(List<Vertex> cities, List<Coordinate> coordinates) =>
+ Cities.AddRange(cities.Zip(coordinates, (city, coord) => new City(city, coord)));
public override string ToString() =>
$"tour: {String.Join(" -> ", Cities.Select(city => city.Id))}\n" +