UnuAfajo.com

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

Відео: Як почистити телефон від сміття і прискорити його роботу

Одним з типів структур даних, досить широко використовуваних сьогодні в прикладному програмуванні, є стек. Його особливістю є принцип організації елементів, при якому їх додавання і видалення можливо тільки по одному і тільки через «вершину», тобто за принципом 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 lt; 10 i ++) oStack.push (i) - // заповнення стека


oStack.resize (0) - // очищення стека


3
Очищення об`єкта стека зазвичай можна виконати через оператор присвоювання, який часто реалізований у відповідних класів. Для цього об`єкту очищаемого стека потрібно присвоїти тимчасовий об`єкт, створений конструктором за замовчуванням. Наприклад, шаблонний клас stack стандартної бібліотеки C ++, що є адаптером шаблонних класів контейнерів, не має методів довільного зміни кількості або видалення всіх елементів. Очистити його можна так:
std :: stack gt; oStack- // декларація об`єкта стека
for (int i = 0 i lt; 10 i ++) oStack.push (i) - // заповнення стека
oStack = std :: stack
gt; () - // очищення стека
4
Очистіть об`єкт стека шляхом виклику конструктора копіювання за допомогою оператора new c аргументом-об`єктом, створеним конструктором за замовчуванням:
std :: stack gt; oStack- // декларація об`єкта стека
for (int i = 0 i lt; 10 i ++) oStack.push (i) - // заповнення стека
new std :: stack
gt; (oStack) - // очищення стека
5
Стек можна очистити шляхом послідовного вилучення всіх елементів за допомогою відповідних методів:
std :: stack gt; oStack- // декларація об`єкта стека
for (int i = 0 i lt; 10 i ++) oStack.push (i) - // заповнення стека
while (! oStack.empty ()) oStack.pop () - // очищення стека
Однак даний підхід має тимчасову складність, лінійно залежить від кількості елементів в стеку. Тому його використання не раціонально.

Поділися в соціальних мережах:


Схожі
Як витягнути атрибутЯк витягнути атрибут
Як видалити особисті даніЯк видалити особисті дані
Як зробити масивЯк зробити масив
Як очистити кошика на всіх дискахЯк очистити кошика на всіх дисках
Як обнулити масивЯк обнулити масив
Як очистити дизпаливоЯк очистити дизпаливо
Висівки для очищення кишечника: природний і безпечний спосібВисівки для очищення кишечника: природний і безпечний спосіб
Як очистити 1с від документівЯк очистити 1с від документів
Як викликати метод функціїЯк викликати метод функції
Як змінити менюЯк змінити меню
» » Як очистити стек
© 2021 UnuAfajo.com