Переделать программу из С++ в C#
Формулировка задачи:
Ребят, помогите переделать код на С#
Листинг программы
- struct Node {
- std::vector<Node*> v;
- int depth;
- } nodes[256];
- /*
- создается структура с именем Node; это как класс, только у структуры по умолчанию открыты переменные
- Node - что то типа собственного типа данных, содержашего:
- 1) вектор v указателей на структуру. как бы указатель - это просто ссылка на место расположения каждой Node в памяти программы.
- 2) величину каждого из векторов (хотя объект std::vector может возвращать свой размер, эта переменная служит для логической связки с вектором и для убоства обращения с твоим типом данных Node;
- объявление после закрывающей скобки служит объявлением 256 объектов типа Node
- */
- int N, M;
- int bfs(Node* start) {
- int ret = 0; // сумма длинн всех узлов, как я понимаю
- for(auto& n : nodes) {
- n.depth = std::numeric_limits<int>::max();
- }
- /*
- компактная форма цикла for; аналог foreach в других языках. типа для каждого объекта nodes, и даже пофиг на то какой у них индекс, указать максимум величины инт и записать в переменную depth для каждого объекта n. такое объявление auto& n значит что переменная n примет свой тип только во время исполнения, а знак & нужен только для того, чтоб мы могли стать ссылкой на целый массив.
- */
- std::queue<Node*> Q; //объявление очереди
- start->depth = 0; //
Решение задачи: «Переделать программу из С++ в C#»
textual
Листинг программы
- public class Node
- {
- public Node()
- {
- v = new List<Node>();
- }
- public List<Node> v { get; set; }
- public int depth { get; set; }
- }
- public static Node[] nodes = new Node[256];
- public static int N, M;
- public static int bfs(IList<Node> start)
- {
- int ret = 0;
- foreach (Node n in nodes)
- {
- n.depth = int.MaxValue;
- }
- var Q = new Queue<Node>();
- start[0].depth = 0;
- // здесь должен быть какой-то код, которого не было в примере
- return 0; // вместо 0 должно быть что-то другое
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д