Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.12.2016, 19:35   #1
gerun
Новичок
Джуниор
 
Регистрация: 22.12.2016
Сообщений: 1
Сообщение С#

Может кто -нибудь эту часть кода переделать в С#?
Код:
struct Node {

std::vector<Node*> v;

int depth;

} nodes[256];



int N, M;

int bfs(Node* start) {

int ret = 0; // сумма длинн всех узлов,

for(auto& n : nodes) {

n.depth = std::numeric_limits<int>::max();
}


std::queue<Node*> Q; //объявление очереди

start->depth = 0; //в начальных аргументах функции у нас указана переменная start, нашего типа Node. устанавливаем ей величину 0

Q.push(start); //заносим эту переменную в очередь

while(!Q.empty()) {

auto node = Q.front();
ret += node->depth;
Q.pop();
for(auto n : node->v) {
if(n->depth > node->depth+1)
n->depth = node->depth+1, Q.push(n);
}
}
return ret;
_____
Код программы нужно выделять (форматировать) тегами [CODE] (читать FAQ)
Модератор

Последний раз редактировалось Serge_Bliznykov; 23.12.2016 в 11:01.
gerun вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц