Переделать программу из С++ в C#

Узнай цену своей работы

Формулировка задачи:

Ребят, помогите переделать код на С#
Листинг программы
  1. struct Node {
  2. std::vector<Node*> v;
  3. int depth;
  4. } nodes[256];
  5. /*
  6. создается структура с именем Node; это как класс, только у структуры по умолчанию открыты переменные
  7. Node - что то типа собственного типа данных, содержашего:
  8. 1) вектор v указателей на структуру. как бы указатель - это просто ссылка на место расположения каждой Node в памяти программы.
  9. 2) величину каждого из векторов (хотя объект std::vector может возвращать свой размер, эта переменная служит для логической связки с вектором и для убоства обращения с твоим типом данных Node;
  10. объявление после закрывающей скобки служит объявлением 256 объектов типа Node
  11. */
  12. int N, M;
  13. int bfs(Node* start) {
  14. int ret = 0; // сумма длинн всех узлов, как я понимаю
  15. for(auto& n : nodes) {
  16. n.depth = std::numeric_limits<int>::max();
  17. }
  18. /*
  19. компактная форма цикла for; аналог foreach в других языках. типа для каждого объекта nodes, и даже пофиг на то какой у них индекс, указать максимум величины инт и записать в переменную depth для каждого объекта n. такое объявление auto& n значит что переменная n примет свой тип только во время исполнения, а знак & нужен только для того, чтоб мы могли стать ссылкой на целый массив.
  20. */
  21. std::queue<Node*> Q; //объявление очереди
  22. start->depth = 0; //

Решение задачи: «Переделать программу из С++ в C#»

textual
Листинг программы
  1. public class Node
  2. {
  3.     public Node()
  4.     {
  5.         v = new List<Node>();
  6.     }
  7.  
  8.     public List<Node> v { get; set; }
  9.     public int depth { get; set; }
  10. }
  11.  
  12. public static Node[] nodes = new Node[256];
  13.  
  14. public static int N, M;
  15.  
  16. public static int bfs(IList<Node> start)
  17. {
  18.     int ret = 0;
  19.  
  20.     foreach (Node n in nodes)
  21.     {
  22.         n.depth = int.MaxValue;
  23.     }
  24.  
  25.     var Q = new Queue<Node>();
  26.     start[0].depth = 0;
  27.  
  28.     // здесь должен быть какой-то код, которого не было в примере
  29.     return 0; // вместо 0 должно быть что-то другое
  30. }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 3.714 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы