Совет 1: Как очистить стек

Одним из типов структур данных, достаточно широко используемых сегодня в прикладном программировании, является стек. Его особенностью является принцип организации элементов, при котором их добавление и удаление возможно только по одному и только через «вершину», то есть по принципу LIFO. Но иногда бывает необходимо очистить сразу весь стек.
Вам понадобится
  • - текстовый редактор или IDE;
  • - транслятор с используемого языка программирования.
Инструкция
1
Используйте методы объектов стека, специально предназначенные для его очистки. Они присутствуют у большинства соответствующих классов различных библиотек и фреймворков. Например, у класса Stack платформы .NET имеется метод Clear. Пример его применения на языке C# может выглядеть так:
Stack oStack = new Stack(); // создание объекта стека
oStack.Push("000"); // заполнение стека
oStack.Push("111" );
oStack.Clear(); // очистка стека
2
Методы изменения количества элементов классов контейнеров, на которых зачастую строится функционал классов стеков, также можно применить для очистки. Нужно просто уменьшить текущее количество элементов до нуля. Так, шаблонный класс QStack библиотеки Qt наследуется от шаблонного класса QVector, который имеет метод resize. Пример его использования может быть таким:
QStack<int> oStack; // декларация объекта стека
for(int i = 0; i < 10; i++) oStack.push(i); // заполнение стека
oStack.resize(0); // очистка стека
3
Очистку объекта стека обычно можно выполнить через оператор присваивания, который часто реализован у соответствующих классов. Для этого объекту очищаемого стека нужно присвоить временный объект, созданный конструктором по умолчанию. Например, шаблонный класс stack стандартной библиотеки C++, являющийся адаптером шаблонных классов контейнеров, не имеет методов произвольного изменения количества или удаления всех элементов. Очистить его можно так:
std::stack<int, std::list<int> > oStack; // декларация объекта стека
for(int i = 0; i < 10; i++) oStack.push(i); // заполнение стека
oStack = std::stack<int, std::list<int> >(); // очистка стека
4
Очистите объект стека путем вызова конструктора копирования при помощи оператора new c аргументом-объектом, созданным конструктором по умолчанию:
std::stack<int, std::list<int> > oStack; // декларация объекта стека
for(int i = 0; i < 10; i++) oStack.push(i); // заполнение стека
new std::stack<int, std::list<int> >(oStack); // очистка стека
5
Стек можно очистить путем последовательного извлечения всех элементов при помощи соответствующих методов:
std::stack<int, std::list<int> > oStack; // декларация объекта стека
for(int i = 0; i < 10; i++) oStack.push(i); // заполнение стека
while(!oStack.empty()) oStack.pop();// очистка стека
Однако данный подход имеет временную сложность, линейно зависящую от количества элементов в стеке. Поэтому его использование не рационально.

Совет 2: Салат из красной и белой фасоли для ленивой хозяйки

Салат готовится за пять минут, поэтому даже самая ленивая хозяйка сможет побаловать им своих домочадцев. Самое сложное, что нужно сделать для приготовления этого салата – почистить, промыть и измельчить чеснок и кинзу.
Вам понадобится
  • - банка красной консервированной фасоли;
  • - банка белой консервированной фасоли;
  • - банка очищенных резанных томатов в собственном соку;
  • - пучок кинзы;
  • - 5 долек чеснока;
  • - 1 столовая ложка оливкового масла;
  • - соль, сахар по вкусу.
Инструкция
1
Открыть консервные банки и выложить на сито или дуршлаг красную и белую фасоль – чтобы стек весь рассол.
2
Кинзу промыть, обсушить, очень мелко нарезать. Чеснок очистить и измельчить с помощью пресса («чеснокодавки»).
3
В большой салатнице смешать красную и белую фасоль, консервированные томаты вместе с соком, кинзу, чеснок, соль и сахар. В завершение добавить оливковое масло и еще раз хорошо перемешать. Охладить и подавать.
Обратите внимание
Кинзу в рецептуре можно заменить другой зеленью - петрушкой, укропом, базиликом. Но именно кинза придает этому салату особый аромат.
Совет полезен?
Салат хорош и как закуска, и как гарнир к мясным или рыбным блюдам.
Поиск
Совет полезен?
Добавить комментарий к статье
Осталось символов: 500