Як очистити стек.

Одним з типів структур даних, досить широко використовуваних сьогодні в прикладному програмуванні, є стек. Його особливістю є принцип організації елементів, при якому їх додавання і видалення можливо тільки по одному і тільки через «вершину», тобто за принципом 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 oStack;//Декларація об'єкта стекаfor (int i = 0; i <10; i ++) oStack.push (i);//Заповнення стекаoStack.resize (0);//Очистка стека
3
Очистку об'єкта стека зазвичай можна виконати через оператор присвоювання, який часто реалізований у відповідних класів. Для цього об'єкту очищаемого стека потрібно присвоїти тимчасовий об'єкт, створений конструктором за замовчуванням. Наприклад, шаблонний клас stack стандартної бібліотеки C ++, що є адаптером шаблонних класів контейнерів, не має методів довільного зміни кількості або видалення всіх елементів. Очистити його можна так: std :: stack
4
Очистіть об'єкт стека шляхом виклику конструктора копіювання за допомогою оператора new c аргументом-об'єктом, створеним конструктором за замовчуванням: std :: stack
5
Стек можна очистити шляхом послідовного вилучення всіх елементів за допомогою відповідних методів: std :: stack