Переделать программу из С++ в 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 должно быть что-то другое
}

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


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

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

7   голосов , оценка 3.714 из 5
Похожие ответы