Мне нужно создать симуляцию цифровой схемы в C ++ на основе ввода / вывода.
Вход задается в виде последовательности элементов (или, и, nand и т. Д.) И в виде списка соединений между выводами этих элементов (т.е. входной вывод 1 элемента 1 соединен с выходным выводомэлемента 2).
Источником считается элемент с выходным контактом, а в конце входного файла описывается источник, например, периодический, или пользовательский 1 или 0 в случайные моменты.
Датчик находится в конце цепи, и он рассматривается как элемент только с входным контактом, и, естественно, проверяет, является ли значение сигнала 0 или 1 в любой момент времени.
Итак, мой вопрос: как мне создать структуру данных, которая представляет схему?Может ли это быть как связанный список элементов, или каждый элемент должен иметь указатели на другие элементы?А как мне передать сигнал по всей модели схемы?