Курсовая работа: Динамические структуры данных: дек
Для добавления элемента в начало дека используется метод класса add_end. Его параметрами является добавляемый элемент b .
Необходимо создать новый элемент структуры Node (el). Элементу elприсваивается значение введенного с клавиатуры числа. Для добавления элемента в конец дека, необходимо, чтобы ячейка была пуста. Указатель на последний элемент переходит на следующую ячейку, в которую и будет записан элемент. Далее указателю на последний элемент переходит на следующую ячейку, которой присваивается значение NULL. Количество ячеек возрастает на 1.
Удаление элемента из конца дека
Для удаления элемента из начала дека используется метод класса delete_end.
Для удаления элемента из конца дека надо создать новый элемент структуры Node (el). Элементу el присваивается указатель на первый элемент. Пока el не примет значения NULL, элемент будет принимать значения следующего элемента. Затем el удаляется и ссылке на последний элемент присваивается значение el. Количество ячеек уменьшается.
Проверка дека на наличие в нем элемента
Для проверки дека используется метод класса prov . Этот метод имеет тип Boolean.
Для проверки на наличие элементов в деке, создается новый элемент структуры Node и ему присваивается указатель на первый элемент дека. Если ячейка не пуста, то возвращается значение true, в противном случае, false.
Функция вывода дека в StringGrid
Данная функция необходима для отображения вставки и удаления элементов в таблицу StringGrid. Функция увеличивает количество ячеек таблицы, если обнаруживает, что ячейка не пуста.
Приложение 1
Текст программы
#include <vcl.h>
#pragma hdrstop
#include <iostream>
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
int s, count=0;
struct Node
{
int key;