106.18K
Category: programmingprogramming

Стек. Сплошное представление

1.

Стек.
Сплошное представление
Зав. кафедрой, д. ф.-м. н., проф. Артемов М. А.
Обучающийся
______________
Руководитель д. ф.-м. н., проф. Артемов М. А.
1

2.

Стек
Стек — абстрактный тип данных,
представляющий собой список
элементов, организованных по принципу
LIFO (Last in — first out).
Сплошное представление стека —
реализация стека с помощью массива
2

3.

Постановка задачи
Условие: Разработать библиотеку обобщенных
классов для работы со стеком. В структуру классов
входит интерфейс для всех стеков, класс стека
на основе массива, а также класс различных
операций над стеком.
Также необходимо разработать GUI - приложение,
содержащее серию примеров, демонстрирующих
работу с данной библиотекой.
3

4.

Анализ задачи
Пользователь должен иметь возможность:
• создавать стек;
• добавлять и удалять элементы;
• конвертировать тип данных элементов;
• очищать стек;
• выполнять различные операции над
стеком.
4

5.

Средства реализации
• Язык программирования C#.
• Среда разработки — Microsoft Visual
Studio 2019.
5

6.

Требования
к аппаратному и программному
обеспечению
• Операционная система Windows 7
и выше.
• Требования к аппаратному обеспечению
соответствуют минимальным
системным требованиям ОС.
6

7.

Окно программы
при начале работы
7

8.

Окно программы после
создания стека
8

9.

Окно добавления
элемента в стек
9

10.

Окно программы после
добавления нескольких элементов
10

11.

Методы модуля сплошного
представления стека
virtual public void Push(T node)
virtual public void Clear()
virtual public T Pop()
virtual public T Peek()
public override string ToString()
11

12.

Методы модуля
операций над стеком
public static IStack<T> FindAll<T>(IStack<T> iStack,
CheckDelegate<T> check, StackConstructorDelegate<T> constructor)
public static IStack<TO> ConvertAll<TI, TO>(IStack<TI> iStack,
ConvertDelegate<TI, TO> convert, StackConstructorDelegate<TO>
constructor) where TO : IComparable<TO>
public static bool Exists<T>(IStack<T> iStack, CheckDelegate<T>
check)
public static bool CheckForAll<T>(IStack<T> iStack,
CheckDelegate<T> check)
public static void ForEach<T>(ref IStack<T> iStack,
ActionDelegate<T> action) where T : IComparable<T>
12

13.

План тестирования
Проверить:
• создание стека;
• добавление элемента;
• удаление элемента;
• изменение стека;
• конвертирование стека;
• очистку стека.
13

14.

Заключение
• Изучены особенности сплошного
представления стека.
• Реализована программа,
предоставляющая пользователю
инструменты для работы со стеком.
• Создана библиотека классов,
содержащая реализацию сплошного
представления стека и класса
различных операций над стеком.
14

15.

Стек.
Сплошное представление
Зав. кафедрой, д. ф.-м. н., проф. Артемов М. А.
Обучающийся
______________
Руководитель д. ф.-м. н., проф. Артемов М. А.
1
English     Русский Rules