Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

class Spisok

Загальна характеристика списків магазинного типу. | Формування стеку. | Включення ланки в стек. |


Читайте также:
  1. Antonyms. Definition. Morphological and semantic classifications of antonyms.
  2. BARCLASS.CPP
  3. Class Boolean
  4. Class SampleClass
  5. Class Teach: public Student
  6. Class work.

{

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

mybiblioteka.su - 2015-2024 год. (0.007 сек.)