Essays.club - Получите бесплатные рефераты, курсовые работы и научные статьи
Поиск

Расчетно графическая работа по Хеш-Таблицам

Автор:   •  Июнь 9, 2019  •  Реферат  •  3,936 Слов (16 Страниц)  •  346 Просмотры

Страница 1 из 16

Написать класс с именем Bank, содержащий следующие данные(ORDER) :


рассчетный счет плательщика;

рассчетный счет получателя;

перечисляемая сумма в рублях;  

                                                                        Исходный код

#include 

#include 

template <typename T>

class LinkedList {

public:

        struct Node {

                T value;

                Node *prev, *next;

        };

        LinkedList() : head(nullptr), tail(nullptr) {}

        void add(const T &value) {

                Node *newTail = new Node;

                newTail->value = value;

                newTail->next = nullptr;

                if (tail)

                        newTail->prev = tail,

                        tail->next = newTail,

                        tail = newTail;

                else

                        head = tail = newTail;

        }

        template <typename predicate>

        Node* find(predicate p) {   //Нахождение эллемента

                Node *t = head;

                while (t && !p(t->value))

                        t = t->next;

                return t;

        }

        Node* find(const T& value) {

                return find([&value](const T& x) { return x == value; });

        }

        void remove(Node *node) {  //Удаление эллемента

                if (node == nullptr) return;

                if (node == head && node == tail)

                        head = tail = nullptr;

                else if (node == head) {

                        head = head->next;

                        head->prev = nullptr;

                }

                else if (node == tail) {

                        tail = tail->prev;

                        tail->next = nullptr;

                }

                else {

                        node->prev->next = node->next;

                        node->next->prev = node->prev;

                }

                delete node;

        }

        Node* getFirst() const { return head; }

        Node* getLast() const { return tail; }

        ~LinkedList() {

                while (head) remove(head);

        }

private:

        Node *head;

        Node *tail;

};

class Order { // класс для хранения информации по платежам

        int payer;       // расчётный счёт плательщика

        int beneficiary; // расчётный счёт получателя

        int money;       // переведённая сумма в рублях

public:

        explicit Order(int payer = -1, int beneficiary = -1, int money = -1) :

                payer(payer), beneficiary(beneficiary), money(money) {}

        int getPayerAccount() const {

                return payer;

        }

...

Скачать:   txt (9.2 Kb)   pdf (318.8 Kb)   docx (220 Kb)  
Продолжить читать еще 15 страниц(ы) »
Доступно только на Essays.club