0 / 0 / 0
Регистрация: 15.10.2013
Сообщений: 8
|
||||||
1 | ||||||
Как правильно написать функцию push (положить в стек)22.07.2014, 18:28. Показов 8551. Ответов 10
Метки нет (Все метки)
Здравствуйте, господа. Не могу сообразить, как правильно написать функцию push (положить в стек). Ткните меня носом пожалуйста. Всё остальное без ошибок.
0
|
22.07.2014, 18:28 | |
Ответы с готовыми решениями:
10
не могу разобраться как написать функцию сортировки и исправить функцию добавления в стек Как правильно написать функцию? Как правильно написать функцию? Как правильно написать шаблонную функцию? |
Модератор
13507 / 10757 / 6412
Регистрация: 18.12.2011
Сообщений: 28,713
|
||||||
22.07.2014, 19:04 | 2 | |||||
По моему push написана правильно, а вот pop
1
|
Модератор
13507 / 10757 / 6412
Регистрация: 18.12.2011
Сообщений: 28,713
|
||||||
22.07.2014, 19:26 | 4 | |||||
1
|
Модератор
13507 / 10757 / 6412
Регистрация: 18.12.2011
Сообщений: 28,713
|
|
22.07.2014, 19:49 | 6 |
Она совсем и не локальная, а 1. Параметр функции
и 2. (не понятно зачем) глобальная.
1
|
0 / 0 / 0
Регистрация: 15.10.2013
Сообщений: 8
|
||||||
22.07.2014, 20:23 [ТС] | 7 | |||||
Ура! Получилось! Я тут часть кода снёс и всё заработало.
Спасибо всем! А в функции push нельзя обойтись одной переменной (только beg, без pv)?
0
|
Модератор
13507 / 10757 / 6412
Регистрация: 18.12.2011
Сообщений: 28,713
|
|
22.07.2014, 21:13 | 8 |
А что Вы тогда собираетесь запихивать?
Вот beg из параметров выкинута разумна - она у Вас глобальная. Хотя лучше избегать глобальные переменные. И еще раз напоминаю при таком pop идет утечка памяти!!!!
1
|
23.07.2014, 07:13 | 9 | |||||
Параметр функции - это локальная переменная/константа внутри функции.
Добавлено через 4 минуты Критинище, срздай конструктор с двумя параметрами для Node, тогда push сможет выглядеть так:
1
|
0 / 0 / 0
Регистрация: 15.10.2013
Сообщений: 8
|
||||||
23.07.2014, 20:03 [ТС] | 10 | |||||
Получилось! Спасибо! И последний вопрос: В классе больше ничего нельзя оптимизировать?
Память в pop не очищаю для того, чтобы извлекать элементы повторно.
0
|
24.07.2014, 08:07 | 11 |
Сообщение было отмечено Критинище как решение
Решение
У тебя каждый элемент стека хранит указатель на начало. Это лишнее.
Создай два класса: stack и node. В stack будешь хранить указатель beg, в нём же будут методы push и pop, а в классе node только данные и указатель на следующий элемент, ну и конструктор.
1
|
24.07.2014, 08:07 | |
24.07.2014, 08:07 | |
Помогаю со студенческими работами здесь
11
АТД Стек. Различие между push() и emplace() Написать шаблонную функцию, сортирующую стек Написать функцию добавления элемента в динамический стек Написать программу, реализующую стек на базе односторонне связного списка и стандартные операции push, pop Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |