Читайте также: |
|
{
private:
node *stk;
int klad;
public:
Spisok ()
{
stk=NULL;
}
int Set_Stack ()
{
return klad;
}
void POSTROENIE();
void VYVOD();
void DOBAVLENIE(int);
void YDALENIE ();
void OCHISTKA();
};
--------------------------------------------------------------------------void main ()
{
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
Spisok A;
int el;
int t; //Содержимое информационного поля верхушки стека.
A.POSTROENIE ();
A.VYVOD ();
cout << "Введите вставляемый элемент: ";
cin >> el;
A.DOBAVLENIE(el);
A.VYVOD ();
cout << "Удалим элемент из стека.\n";
A.YDALENIE ();
t = A.Set_Stack();
cout << "Из стека было извлечено число... " << t << endl;
A.VYVOD();
A.OCHISTKA();
}
--------------------------------------------------------------------------void Spisok::POSTROENIE ()
//Построение стека, заданного указателем stk.
{
node *t;
int el;
cout << "Вводите элементы стека: ";
cin >> el;
while (el!=0)
{
t = new (node);
t->value = el;
t->next = stk;
stk = t;
cin >> el;
}
}
--------------------------------------------------------------------------void Spisok::VYVOD ()
//Вывод содержимого стека, заданного указателем stk.
{
node *t;
cout<<"Содержимое стека: ";
t = stk;
while (t!=NULL)
{
cout << t->value << " ";
t = t->next;
}
cout<<endl;
}
--------------------------------------------------------------------------void Spisok::DOBAVLENIE(int el)
//Помещение элемента el в стек stk.
{
node *q;
q = new (node);
q->value = el;
q->next = stk;
stk = q;
}
--------------------------------------------------------------------------
void Spisok::YDALENIE ()
//Удаление элемента из стека, заданного указателем stk.
//Значение информационного поля удаляемого элемента
//помещается в параметр klad.
{
node *q;
if (stk==NULL)
cout<<"Стек пуст!\n";
else
{
klad = stk->value;
q = stk;
stk = stk->next;
delete q;
}
}
--------------------------------------------------------------------------
void Spisok::OCHISTKA()
//Возврат выделенной памяти в "кучу".
{
node *t,*q;
t = stk;
if (t!=NULL)
{
q= t->next;
while (q!=NULL)
{
delete t;
t = q;
q = q->next;
}
delete t;
}
}
Дата добавления: 2015-07-21; просмотров: 66 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Видалення ланки зі стеку. | | | Группа 301 |