Будь умным!


У вас вопросы?
У нас ответы:) SamZan.net

Лекция 14 4932

Работа добавлена на сайт samzan.net:

Поможем написать учебную работу

Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 9.11.2024

PAGE  2

Лекция 14

4.9.3.2. Стеки 

    Стек – это некоторый вариант однонаправленного списка, в котором добавление и выборка элементов выполняются с одного конца, называемого вершиной стека. Другие операции со стеком не определены. При выборке элемент исключается из стека. Говорят, что стек реализует принцип обслуживания LIFO (lastin, firstout). Стек можно проиллюстрировать вертикальной стопкой тарелок, если они складываются и извлекаются по одной сверху.

    Стеки широко применяются в системном программном обеспечении, компиляторах, в различных рекурсивных алгоритмах.

    Ниже приведена программа, которая формирует стек из пяти целых чисел (1, 2, 3, 4, 5) и выводит его на экран. Функция помещения в стек по традиции называется push, функция выборки – pop. Указатель для работы со стеком (top) всегда ссылается на его вершину.

#include <iostream.h>

struct Node

  {

  int d:

  Node *p;

  };

//  Объявления функций 

Node  *first (const int d);

void  push (Node **top, const int d);

int  pop (Node **top);

const  int  N = 5;

    

int  main ()

  {

  Node *top = first (l);

  for  (int  i = 2; i <=  N; i++)  push (&top,  i);

  while (top)  cout << pop (&top) <<  '   ';

  return 0;

  }

Результат работы программы: 5 4 3 2 1.

/***   Определения функций   ***/

// Начальное формирование стека

Node *first (const int d)

  {

  Node *pv = new Node;

  pv->d = d; pv->p = 0;

  return  pv;

  }

//  Запись в стек

void  push (Node **top, const int d)

  {

  Node *pv = new Node;

  pv->d = d; pv->p = *top; *top = pv;

  }

// Выборка из стека

int pop (Node **top)

  {   

  int temp = (*top)->d;

  Node *pv = *top;

  *top = (*top)->p;

  delete pv;

  return temp;

   }

4.9.3.3. Очереди

    Очередь – вариант однонаправленного списка, добавление элементов в который производится с одного конца, а выборка – с другого конца. Другие операции с очередью не определены. При выборке элемент исключается из очереди. Говорят, что очередь реализует принцип обслуживания FIFO (first – in, first – out). Эту структуру данных можно сравнить с очередью в магазине. В программировании очереди применяются в моделировании, диспетчеризации задач операционной системой, буферизованном вводе/выводе и т.д.

    Ниже приведена программа, которая формирует очередь из пяти целых чисел и выводит ее на экран. Функция записи в очередь называется add, выборки – del. Указатель начала очереди называется pbeg, указатель конца – pend.

#include <iostream.h>

struct Node

  {

  int d;

  Node *p;

  };

//  Объявления функций

Node *first (const int d);

void add (Node **pend, const int d);

int del (Node **pbeg);

const  int  N = 5;

int main ()

  {

  Node *pbeg = first (l);

  Node *pend = pbeg;

  for (int i = 2; i <= N; i++) add (&pend, i);

  while (pbeg) cout << del (&pbeg) <<  '   ';

  return 0:

  }

Результат работы программы: 1 2 3 4 5.

/***   Определения функций   ***/

//  Начальное формирование очереди

Node *first (const int d)

  {

  Node *pv = new Node;

  pv->d = d; pv->p = 0;

  return pv;

  }

// Запись в очередь

void add (Node **pend, const int d)

  {

  Node *pv = new Node:

  pv->d = d; pv->p = 0;

  (*pend)->p = pv; *pend = pv;

  }

// Выборка из очереди

int del (Node **pbeg)

  {

  int temp = (*pbeg)->d;

  Node *pv = *pbeg;

  *pbeg = (*pbeg)->p;

  delete pv;

  return temp;

  }




1. Уложение 1649 года принятое в царствование Алексея Михайловича второго самодержца из династии Романовых1
2. Понятие власти и влияния
3. Введение в финансы
4. Реферат Выполнила-.html
5. .Выделите отличительные признаки следующих методов получения психологической информации- Беседа Это
6. на тему- Развитие ипотечного кредитования в России и за рубежом
7. Дипломная работа- Развитие творческой активности младших школьников через применение коррекционных программ
8. Idaho
9. реферату- Диявольська спокуса розумуРозділ- Твори шкільні Диявольська спокуса розуму Будьте тверезi пиль
10. тематическая модель измерительной системы Оптическая система КОС выпол
11. Тема- Здоровье населения
12. For this reson the ntionl government of the United Sttes is clled the federl government
13. Тема- Сущность и формы комического в литературе
14. Курсовая работа- Географическое наследие В.Г. Гниловского
15. Тема 9 Организация как функция менеджмента Важной функцией управления является функция организации кот
16. Реферат- Презентация- требования к подготовке и проведению
17. Изобразительное искусство и компьютерная графика зимняя сессия 20132014 учебного года Предмет Перс
18. ТЕМАТИКА КОНТРОЛЬНЫХ РАБОТ- Анкетные методы оценки спроса
19. Owned-operted resort locted in the hert of the Jckson Hole vlley on the Snke River inside the boundries of Grnd Teton Ntionl Prk nd just 40 miles south of Yellowstone Ntionl Prk
20. июне 1945 года. В СанФранциско проходила учредительная конференция ООН которая выработала задачи этой органи.html