Что такое findslide.org?

FindSlide.org - это сайт презентаций, докладов, шаблонов в формате PowerPoint.


Для правообладателей

Обратная связь

Email: Нажмите что бы посмотреть 

Яндекс.Метрика

Презентация на тему Стек

Содержание

Стеком называется упорядоченный набор элементов, в котором размещение новых и удаление существующих происходит с одного конца, называемого вершиной.
Стек Стеком называется упорядоченный набор элементов, в котором размещение новых и удаление существующих происходит с одного конца, называемого вершиной. Дисциплина обслуживания — это совокупность правил (упорядочение и алгоритм) обслуживания элементов динамической структуры Операции для работы со стекомНад стеком реализованы следующие операции:инициализация стека init(s), где s — стекпомещение Способы реализации стекаСуществует несколько способов реализации стека:с помощью одномерного массива;с помощью связанного Инициализация стека Индекс элемента, находящегося в вершине стека, равен 0.void init(struct stack *stk) {  stk->top = 0; } Помещение элемента в стек (push)  void push(struct stack *stk, float f) {  if(stk->top < Удаление элемента из стека (pop)  float pop(struct stack *stk) {  float elem;  if((stk->top) > Извлечение вершины стека   float pop(struct stack *stk) {  float elem;  if((stk->top) > 0) Получение верхнего элемента стека без его удаления   int gettop(struct stack *stk) { return(stk->top);}Определение Вывод элементов стека void stkPrint(struct stack *stk) {  int i;  i=stk->top;  if(isempty(stk)==1) return;  do {    i--;    printf(elem[i]);  }while(i>0); }"> Вывод элементов стека void stkPrint(struct stack *stk) {  int i;  i=stk->top;  if(isempty(stk)==1) return;  do {    i--;    printf(elem[i]);  }while(i>0); }"> Вывод элементов стека void stkPrint(struct stack *stk) {  int i;  i=stk->top;  if(isempty(stk)==1) return;  do {    i--;    printf(elem[i]);  }while(i>0); }">
Слайды презентации

Слайд 2
Стеком называется упорядоченный набор элементов, в котором размещение новых

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

и удаление существующих происходит с одного конца, называемого вершиной.


Слайд 3
Дисциплина обслуживания — это совокупность правил (упорядочение и алгоритм)

Дисциплина обслуживания — это совокупность правил (упорядочение и алгоритм) обслуживания элементов динамической

обслуживания элементов динамической структуры данных.
В стеке реализуется дисциплина обслуживания

LIFO:
LAST - последний
INPUT - вошел
FIRST - первый
OUTPUT - вышел


Слайд 4 Операции для работы со стеком
Над стеком реализованы следующие

Операции для работы со стекомНад стеком реализованы следующие операции:инициализация стека init(s), где s —

операции:
инициализация стека init(s), где s — стек
помещение элемента в стек push (s, i),

где s — стек, i — помещаемый элемент;
удаление элемента из стека i=pop(s);
определение верхнего элемента без его удаления i=stkTop(s), которая эквивалентна операциям i=pop (s); push (s, i);
получение вершины стека (количества элементов) i=gettop(s), где s — стек
печать стека stkPrint(s), где s — стек
определение пустоты стека isempty(s) возвращает true если стек пустой и false в противном случае.


Слайд 5 Способы реализации стека
Существует несколько способов реализации стека:
с помощью

Способы реализации стекаСуществует несколько способов реализации стека:с помощью одномерного массива;с помощью

одномерного массива;
с помощью связанного списка;
 с помощью класса объектно-ориентированного программирования.
Пример

реализации стека
Стек можно реализовать в виде следующей структуры:
#define NMAX 100 struct stack {
  float elem[NMAX];
  int top; };
NMAX — максимальное количество элементов в стеке; elem — массив из NMAX чисел типа float, предназначенный для хранения элементов стека; top — индекс элемента, находящегося в вершине стека.


Слайд 6 Инициализация стека
Индекс элемента, находящегося в вершине стека, равен

Инициализация стека Индекс элемента, находящегося в вершине стека, равен 0.void init(struct stack *stk) {  stk->top = 0; }

0.
void init(struct stack *stk) {
  stk->top = 0; }


Слайд 7 Помещение элемента в стек (push)
void push(struct stack *stk, float f)

{
  if(stk->top < NMAX) {
    stk->elem[stk->top] = f;
    stk->top++;
  } else
   

printf("Стек полон, количество элементов: %d !\n", stk->top); }


Слайд 8 Удаление элемента из стека (pop)
float pop(struct stack *stk) {
  float elem;
 

Удаление элемента из стека (pop) float pop(struct stack *stk) {  float elem;  if((stk->top) >

if((stk->top) > 0) {
    stk->top--;
    elem = stk->elem[stk->top];
    return(elem);
  } else {
   

printf("Стек пуст!\n");
    return(0);
  } }


Слайд 9 Извлечение вершины стека
float pop(struct stack *stk) {
  float elem;
  if((stk->top) >

Извлечение вершины стека  float pop(struct stack *stk) {  float elem;  if((stk->top) > 0)

0) {
    stk->top--;
    elem = stk->elem[stk->top];
    return(elem);
  } else {
    printf("Стек пуст!\n");
    return(0);
 

} }


Слайд 10 Получение верхнего элемента стека без его удаления
int gettop(struct stack *stk)

Получение верхнего элемента стека без его удаления  int gettop(struct stack *stk) { return(stk->top);}Определение

{
 return(stk->top);}

Определение пустоты стека
int isempty(struct stack *stk) {
  if((stk->top) == 0)    return(1);
  else return(0); }


Слайд 11 Вывод элементов стека
void stkPrint(struct stack *stk) {
  int i;
  i=stk->top;
  if(isempty(stk)==1) return;
  do {
   

i--;
    printf("%f\n", stk->elem[i]);
  }while(i>0); }


Слайд 12 Вывод элементов стека
void stkPrint(struct stack *stk) {
  int i;
  i=stk->top;
  if(isempty(stk)==1) return;
  do {
   

i--;
    printf("%f\n", stk->elem[i]);
  }while(i>0); }


  • Имя файла: stek.pptx
  • Количество просмотров: 103
  • Количество скачиваний: 0