1
0

perf fixes

This commit is contained in:
2019-05-15 16:58:33 +02:00
parent de4d08b938
commit 311da13574
3 changed files with 8 additions and 7 deletions

View File

@@ -21,7 +21,8 @@ namespace TMI_practicum
return Math.Round(Math.Sqrt(Math.Pow(X - otherCircle.X, 2) + Math.Pow(Y - otherCircle.Y, 2)), 15);
}
public IList<Intersection> FindIntersections(Circle c1)
public
IEnumerable<Intersection> FindIntersections(Circle c1)
{
IList<Intersection> intersections;
double d = Distance(c1);

View File

@@ -6,7 +6,7 @@ namespace TMI_practicum
{
public static IEnumerable<Intersection> Solve(IList<Circle> circles)
{
var intersections = new HashSet<Intersection>();
var intersections = new Stack<Intersection>();
for (int i = 0; i < circles.Count - 1; i++)
{
@@ -18,7 +18,7 @@ namespace TMI_practicum
if (intersects == null) continue;
foreach (var intersect in intersects)
{
intersections.Add(intersect);
intersections.Push(intersect);
}
}
}

View File

@@ -6,10 +6,10 @@ namespace TMI_practicum
{
public static class SweepLineAlgorithm
{
public static IEnumerable<Intersection> Solve(IList<Circle> circles)
public static IEnumerable<Intersection> Solve(IEnumerable<Circle> circles)
{
var events = new PriorityQueue<Event>();
var intersections = new HashSet<Intersection>();
var intersections = new Stack<Intersection>();
var active = new List<Circle>();
foreach (var circle in circles)
@@ -38,7 +38,7 @@ namespace TMI_practicum
return intersections;
}
private static void CheckIntersections(IEnumerable<Circle> active, Circle circle, HashSet<Intersection> intersections)
private static void CheckIntersections(IEnumerable<Circle> active, Circle circle, Stack<Intersection> intersections)
{
foreach (var otherCircle in active)
{
@@ -49,7 +49,7 @@ namespace TMI_practicum
foreach (var intersection in intersects)
{
intersections.Add(intersection);
intersections.Push(intersection);
}
}
}