C++. Написать программу, которая обязана исполнять последующие операции: Творить стек.
C++. Написать программку, которая обязана исполнять следующие операции: Творить стек. Операцию добавленья стека. Операцию просмотра стека. Операцию удаления частей стека.
Задать свой вопрос1 ответ
Мухсян Артём
include lt;iostreamgt;
using namespace std;
template lt;typename Tgt;
class Stack
private:
T *p;
int top, length;
public:
Stack(int = 0); // стандартный размер стека - 0
Stack();
void push(T); // добавленье элементом
T pop(); // удаление и возврат элемента
void display(); // отображение стека
;
template lt;typename Tgt;
Stacklt;Tgt;::Stack(int size)
top = -1;
length = size;
if (size == 0)
p = 0;
else
p = new T[length];
template lt;typename Tgt;
Stacklt;Tgt;::Stack()
if (p != 0)
delete [] p;
template lt;typename Tgt;
void Stacklt;Tgt;::push(T elem)
if (p == 0)
cout lt;lt; "Стек нулевого размера" lt;lt; endl;
cout lt;lt; "Введите размер стека: ";
cin gt;gt; length;
p = new T[length];
if ( top == (length - 1) )
cout lt;lt; "\nНе могу дополнить стек элементом " lt;lt; elem lt;lt; ", стек полон" lt;lt; endl;
return;
else
top++;
p[top] = elem;
template lt;typename Tgt;
T Stacklt;Tgt;::pop()
if ( (p == 0) (top == -1) )
cout lt;lt; "Стек пуст, не могу убрать элемент.";
return -1;
T ret = p[top];
top--;
return ret;
template lt;typename Tgt;
void Stacklt;Tgt;::display()
for (int i = 0; i lt;= top; i++)
cout lt;lt; p[i] lt;lt; " ";
cout lt;lt; endl;
int main()
/* сделайте стек так:
Stack lt;intgt; stack1;
Stack lt;chargt; stack2;
где в угловых кавычках - тип, с которым работает стек.
как воспользоваться - глядите заголовок класса.
*/
return 0;
using namespace std;
template lt;typename Tgt;
class Stack
private:
T *p;
int top, length;
public:
Stack(int = 0); // стандартный размер стека - 0
Stack();
void push(T); // добавленье элементом
T pop(); // удаление и возврат элемента
void display(); // отображение стека
;
template lt;typename Tgt;
Stacklt;Tgt;::Stack(int size)
top = -1;
length = size;
if (size == 0)
p = 0;
else
p = new T[length];
template lt;typename Tgt;
Stacklt;Tgt;::Stack()
if (p != 0)
delete [] p;
template lt;typename Tgt;
void Stacklt;Tgt;::push(T elem)
if (p == 0)
cout lt;lt; "Стек нулевого размера" lt;lt; endl;
cout lt;lt; "Введите размер стека: ";
cin gt;gt; length;
p = new T[length];
if ( top == (length - 1) )
cout lt;lt; "\nНе могу дополнить стек элементом " lt;lt; elem lt;lt; ", стек полон" lt;lt; endl;
return;
else
top++;
p[top] = elem;
template lt;typename Tgt;
T Stacklt;Tgt;::pop()
if ( (p == 0) (top == -1) )
cout lt;lt; "Стек пуст, не могу убрать элемент.";
return -1;
T ret = p[top];
top--;
return ret;
template lt;typename Tgt;
void Stacklt;Tgt;::display()
for (int i = 0; i lt;= top; i++)
cout lt;lt; p[i] lt;lt; " ";
cout lt;lt; endl;
int main()
/* сделайте стек так:
Stack lt;intgt; stack1;
Stack lt;chargt; stack2;
где в угловых кавычках - тип, с которым работает стек.
как воспользоваться - глядите заголовок класса.
*/
return 0;
, оставишь ответ?
Похожие вопросы
-
Вопросы ответы
Новое
NEW
Статьи
Информатика
Статьи
Последние вопросы
Игорь 14 лет назад был на 8 лет моложе, чем его
Математика.
Два тела массами m1 и m2 находящие на расстоянии R друг
Физика.
В сосуде 4целых одна пятая литр воды что бы заполнить сосуд
Математика.
Двум малярам Диме И Олегу поручили выкрасить фасад дома они разделили
Разные вопросы.
найти порядковый номер 41Э если в ядре 20 нейтронов
Разные вопросы.
в ряду натуральных чисел 3, 8, 10, 24, … 18 одно
Математика.
Предприятие по производству с/хоз продукции на производство затратило 3527000 руб Валовый
Разные вопросы.
Математика, задано на каникулы. ВАРИАНТ 1004
НОМЕР 1,2,3,4,5,6,7,8.
Математика.
Имеются три конденсатора емкостью С1=1мкФ, С2=2мкФ и С3=3мкФ. Какую наименьшую емкость
Физика.
Из точки м выходят 3 луча MP MN и MK причём
Геометрия.
Облако тегов