Приклад .

#include <iostream.h>

#include <conio.h>

struct person

{

int dat;

person *next;

};

void Add_stack(person *&elem,person *&stack)

{

if (stack!=0) elem->next = stack;

stack = elem;

}

void print_stack(person *&stack)

{

while (stack->next!=0)

{

cout<<stack->dat<<" ";

stack = stack->next;

}

getch();

}

void main()

{

clrscr();

int data=10;

person *elem;

person *stack;

do

{

if (data!=0)

{ elem = new(person);

elem->dat = data;

Add_stack(elem,stack); }

data--;

}

while (data!=0);

print_stack(stack);

}

Результат робот прграми: 1 2 3 4 5 6 7 8 9 10

Спочатку в список добавляється елемент 10, потім 9, …. Тобто кожен наступний елемент добавляється на початок списку. Самий останній елемент буде на першому місці, тобто вийде зі списку самим першим. Стек – це список, що працює за принципом «перший зайшов – останній вийшов»

Процедуру void Add_stack(person *&elem,person *&stack) добавляє елемент elem на початок списку stack (elem->next = stack). Після цього необхідно направити вказівник stack на елемент elem, який є початком списку (stack = elem).

 

Черга.

Черга - це структура даних, у якій елемент, записаний першим, зчитують першим. Тут діє принцип "перший прий­шов - перший пішов", добре відомий з побуту: черга у мага­зині тощо.

Чергу, як і стек, описують з використанням структури. Над елементами черги визначені операції: занесення елемента у чергу та забирати з черги. У черзі доступним є лише ниж­ній елемент.

Приклад. Оголосимо нову структуру tsherga та два вка­зівники на цей тип

struct tsherga

{

char ch; .

stack *dali;

};

tsherga *tsh, "element;

У цьому випадку, наприклад, створити відповідну чергу tsh можна за допомогою функції:

tsherga *StvorytyTshergu(void)

{

char a;

element = new (tsherga);

// Запам'ятовуємо адресу першого елемента черги

pershij = element;

сіп >> а;

while(a != '.') // Поки не введена крапка

(

element->ch = а; // Заповнюємо елементи черги

element -> dali = new (tsherga);

element = element -> dali;

cin » a; // Вводимо наступну літеру

}

element = NULL; return pershij; }

Забирати елемент із черги можна за допомогою функції

void VyluchenniaZTshergu(tsherga *tsh)

{

while (tsh != NULL)

{

element = tsh;

cout<< element -> ch;

tsh = element -> dali;

 

 

Максимально допустимі розміри стека і черги - важливі характеристики реалізації мови програмування. Вони визнача­ють коло задач, які можна розв'язати.








Дата добавления: 2015-08-26; просмотров: 541;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.007 сек.