товарищи, помогите, пожалуйста.
польская нотация и дек
есть у меня обратная польская нотация вида:
(пример) 1.2 3 4 * +
и нужно мне энту штуку записать в контейнер deque из STL
все ячейки у меня структуры:
struct element
{
double number; // место под число
char simbol; //место под операцию
int type; //определитель
};
т.е. если это число, то мы заполняем ячейку number, а в type = 0.
а если это строка, то заполняем simbol, а type=1
вопрос: как лучше всего реализовать запись в дек?
думала о том, чтобы сначала всю строку записать в к-н переменную, а потом уже раскладывать это дело по ячейкам. но мне почему-то кажется, что это не совсем разумно. да и могут возникнуть проблемы с преобразованием типов.
другой способ: считывать по 1 слову и там уже определять, куда что записывать. но не совсем понимаю как это грамотно реализовать.
и еще вопрос: как мне определять, что слово относится именно к числу. знаю только функцию isdigit(), но она же только по символу читает, а у меня по заданию double(