MainWork.cs 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. using DesterMethod.Models;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Linq;
  5. using System.Text;
  6. using System.Threading.Tasks;
  7. namespace DesterMethod.WorkWithUser
  8. {
  9. internal class MainWork
  10. {
  11. public static void MainCicle()
  12. {
  13. for (int i = 0; i < GravEdge.listEdge.Count; i++)
  14. {
  15. List<int> egdeGraf = GravEdge.listEdge[i];
  16. int startVerh = egdeGraf[0];
  17. int endVerh = egdeGraf[1];
  18. switch (startVerh == 1)
  19. {
  20. case true:
  21. var listVerh = GrafVerh.verhValues[endVerh-1];
  22. listVerh[1] = egdeGraf[2];
  23. break;
  24. case false:
  25. var listVerhStart = GrafVerh.verhValues[startVerh - 1];
  26. var listVerhEnd = GrafVerh.verhValues[endVerh - 1];
  27. int newRootNorm = listVerhStart[1] + egdeGraf[2];
  28. int newRootRevers = listVerhEnd[1] + egdeGraf[2];
  29. int minvalue = Math.Min(newRootRevers, newRootNorm);
  30. if (minvalue < listVerhEnd[1]) listVerhEnd[1] = minvalue;
  31. if (minvalue < listVerhStart[1]) listVerhStart[1] = minvalue;
  32. break;
  33. };
  34. }
  35. foreach (var item in GrafVerh.verhValues)
  36. {
  37. Console.Write($"{item[0]} - {item[1]}");
  38. Console.WriteLine();
  39. }
  40. }
  41. }
  42. }