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

Лекция 14 4932

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

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

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

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

от 25%

Подписываем

договор

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

Скидка 25% при заказе до 29.12.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. . Источники формирования и пополнения оборотных средств предприятия.
2. на тему Сущность состав и содержание тарифной системы оплаты труда Выполнил студент 5 курс.html
3. Ионизирующие излучения, их природа и воздействие на организм человека
4. Вариант 1. 1. Педагогическая поэма Флаги на башнях~ труд а В
5. на тему- Виды юридических лиц Франции МОСКВА 2000 г.
6. вашему мнению ответы на вопросы теста
7. тема джерел конституцiйного права України
8. НА ТЕМУ 7- Патофизиология теплорегуляции
9. ЛЕКЦИЯ Разделение психической личности Уважаемые дамы и господа Я знаю что в своих взаимоотношениях
10. Явление Эль-Ниньо
11. История развала русской армии в 1917 году
12. реферат дисертації на здобуття наукового ступеня кандидата психологічних наук6
13.  Екатерина Мироненко 1315 не рассматривалась нет1
14.  Настоящее Положение устанавливает порядок проверки знаний правил норм и инструкций по безопасному ведени
15. Тема 5 Суб~єкти міжнародного приватного права Тема 6
16. Экономическая оценка ущерба из-за производственного травматизма и профессиональной заболеваемости
17. ТЕМА- КРИМИНОЛОГИЧЕСКОЕ ПРОГНОЗИРОВАНИЕ И ПЛАНИРОВАНИЕ БОРЬБЫ С ПРЕСТУПНОСТЬЮ
18. Кемеровский государственный университет Кафедра общей и региональной экономики Землянская Т
19. РЕФЕРАТ ПО ХИМИИ ПОДГОТОВЛЕН- Коротенко Денисом
20. Реферат на тему- Интеграция уроков музыки и математики