Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Правильные скобочные последовательности

64K
19 ноября 2010 года
stalker95175382
2 / / 19.11.2010
как определить является скбочная последовательность круглых, фигурных и кввадратных скобок правильной? со стеком никогда не работал.
244
19 ноября 2010 года
UAS
2.0K / / 19.07.2006
Смотрите в сторону обратной польской записи (нотации).
Со стеком учитесь работать, значит. В целом все просто:
1) При встрече ({[ положить в стек
2) При встрече ]}) достать содержимое с вершины стека и сравнить с найденным символом. Если не равны или стек пуст, то последовательность некорректна
3) В конце не забыть про проверку наличия символов в стеке
...
профит
64K
19 ноября 2010 года
stalker95175382
2 / / 19.11.2010
нуу...во первых, каких-то скобок (круглых и т.д.) может и не оказаться в строке...во вторых, можно поподробнее, а то со стеком ввобще никогда не работал
5
20 ноября 2010 года
hardcase
4.5K / / 09.08.2005
Цитата: stalker95175382
со стеком ввобще никогда не работал


Рекурсивные функции вызывали?
А они через стек работают.

244
20 ноября 2010 года
UAS
2.0K / / 19.07.2006
Цитата:
как определить является скбочная последовательность круглых, фигурных и кввадратных скобок правильной


Цитата:
нуу...во первых, каких-то скобок (круглых и т.д.) может и не оказаться в строке...


Ну и че тогда задание неполное ставите? Да и вообще какая разница, есть они или нет? Если нет, значит стек вконце строки будет пустой, значит строка корректна.

То что со стеком не работали - ну все в жизни бывает в первый раз. Я вам написал алгоритм - а далее марш читать мануалы и статьи по работе со стеком, причем я не вижу ничего сложного в нем.

А под "можно поподробнее" я вижу намек на написание Вам исходного кода в виду того, что алгоритм и так подробно написал. А не напишу исходный код по двум причинам - во-первых на паскале не пишу, а во-вторых нет желания - и так все написал.

5
21 ноября 2010 года
hardcase
4.5K / / 09.08.2005
Цитата: UAS

То что со стеком не работали - ну все в жизни бывает в первый раз. Я вам написал алгоритм - а далее марш читать мануалы и статьи по работе со стеком, причем я не вижу ничего сложного в нем.

Ну, строго говоря можно и без явного стека - элементарной рекурсией. Критерий в данном случае такой, что если мы открыли скобку, а строка кончилась и мы не нашли парной, то строка недопустима. Решается в 5-6 строк.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог