Реализация стеков с помощью массивов. Pinu realisatsioon massiivi abil.

Презентация:



Advertisements
Похожие презентации
Работа с динамической очередью. Dünaamiline järjekord.
Advertisements

Стек (Stack, Pinu, LIFO) Стек является одной из наиболее используемых и наиболее важных структур данных. Стеки применяются очень часто: Stekke kasutatakse.
Пусть у нас есть очередь из трех элементов а, в и с, в которую первым был помещен элемент а, а последним элемент с. АВС Esimene Viimane Esimene начало.
В. М. Гуровиц, Очередь – это структура данных, хранящая последовательность элементов и обычно поддерживающая следующие операции: push.
Реализация списков:динамические структуры ListList clasclas структура одного элемента type LIST = celltype; celltype = record element: eltype; next: LIST.
Абстрактный тип данных список. Операции над абстрактным списком Создать пустой список Уничтожить список Определить, пуст ли список Определить количество.
Списки Лекция 10. Списки Список – структура данных, представляющая собой конечную последовательность элементов. Элемент списка: Данные Связь.
Лабораторная работа 4. Подпрограммы. Задание на лабораторную работу Написать программу, реализующую хранение информации, указанной в вариантах индивидуальных.
Преобразования типов В языке C/C++ имеется несколько операций преобразования типов. Они используются в случае, если переменная одного типа должна рассматриваться.
Стек, очередь, дек1 Структуры и алгоритмы обработки данных, 1 Лекция 4 Линейные СД Стек, очередь, дек.
1 Лекция 5 Абстрактные структуры данных. 2 Таблицы Таблица – это набор элементов, содержащих ключ – отличительный признак для поиска элементов, и тело.
Сравнение реализаций пользовательских типов переменных в языках высокого уровня. typedef struct tagStack{ double data; struct tagStack* prev; }*stack;
Коллекции классов Лекция 12. С помощью коллекций вместо создания структур данных программист использует готовые структуры данных, не заботясь об их реализации.
Использование STL. Преимущества STL увеличение скорости написания программ гарантированное отсутствие ошибок универсальность (независимость от типов данных)
Лекция 10 Структуры. Классификация типов данных Простые Целые, вещественные, void, перечисления Являются атомарными не состоят из других типов Адресные.
В языках высокого уровня обращение к ячейкам памяти происходит не через числовые адреса, а посредством описательных имен. Такие имена называются переменными.
Обработка исключений Основы метапрограммированияОбработка исключений Основы метапрограммирования.
Распределение памяти. Динамическое выделение памяти.
Конструкторы и Деструкторы Конструкторы - функции, явно предназначенные для инициализации объектов Деструкторы - функция обратная конструктору для обеспечения.
Программирование на языке Си Часть II Тема 1. Массивы Учитель информатики: Корогод В.А.
Транксрипт:

Реализация стеков с помощью массивов. Pinu realisatsioon massiivi abil.

Можно зафиксировать дно стека в самом низу массива (в ячейке с наибольшим индексом) и позволить стеку расти вверх массива ( к ячейке с наименьшим индексом). 1 Top первый элемент второй элемент ………………… maxlength последний элемент

Необходимые объявления. Deklareerimine. const int MaxN=100; //максимальное количество элементов стека //maksimaalne pinu suurus struct Stack { int Top; //Tipu index индекс вершины стека info [MaxN]; // elemendi massiiv массив элементов } ……………………… Top 1el. 2 el. MaxN

В этой реализации стек состоит из последовательности элементов (pinu koosneb elemendidest) info[Top], info[Top+1], ….., info[MaxN] Если (kui) Тор = - 1, то стек пустой (pinu on tyhi) Если (kui) Тор=MaxN, то стек полный (pinu on tais) ……………………… Top MaxN

Пример массива из 5 элементов. Индекс Тор увеличивается на 1 при операции Push и уменьшается на 1 при операции Рор. Näidis. Massiivis on 5 elemendi. Index Top suureneb ühe võrra (Push) ja väheneb ühe võrra (Pop). Тор=-1; стек пустой Тор=1; Push 25 Тор=2; Push 10 Тор=3; Push 50 Тор=2; Pop Тор=1; Pop

Описание программы. Programmi kirjeldamine. Функции (funktsioonid): -Проверка пустоты стека (kas pinu on tühi) -Добавление элемента в вершину стека (lisamine) -Удаление элемента из вершины стека (eemaldamine) -Удаление всех элементов из стека с освобождением памяти (kõikide elementide eemaldamine) - Вывод на экран содержимого стека (väljastamine ekraanile)

#include const int MaxN = 100; //elemendi kogus struct Stack { int info[MaxN]; //massiiv int Top; //tipu index } InitStack () {Top=-1;} // Tipu initsialiseerimine void Push (int andmed); //lisamine int Pop (); //elemendi valjavotmine void ClearStack() {Top=-1;} //koikide elemendi kustutamine int Peek () ; //element pinu tipus int StackEmpty() {return Top==-1;} //kas pinu on tyhi int StackFull() {return Top==MaxN-1;} //kas pinu on tais

void Push (int andm) //lisamine { //kui pinu on tais - valja if (Top==MaxN-1) {cerr

int Pop () {int temp; //kui pinu on tyhi - valja if (Top==-1) { cerr

int Peek () //element pinu tipus { //kui pinu on tyhi - valja if (Top==-1) { cerr