https://github.com/radiumbyte/team-task-qt-first
Linked list with iterator and Qt unit-tests.
https://github.com/radiumbyte/team-task-qt-first
Last synced: 2 months ago
JSON representation
Linked list with iterator and Qt unit-tests.
- Host: GitHub
- URL: https://github.com/radiumbyte/team-task-qt-first
- Owner: RadiumByte
- Created: 2017-07-05T08:15:26.000Z (almost 9 years ago)
- Default Branch: master
- Last Pushed: 2017-07-13T07:19:37.000Z (almost 9 years ago)
- Last Synced: 2025-09-07T15:02:17.616Z (8 months ago)
- Language: TeX
- Homepage:
- Size: 112 KB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Team-Task-Qt-First
First task in C++/Qt: linked list with iterator and unit-test.
Creators:Антон Федяшов 2 курс 3 группа
Теплюков Денис 2 курс 4 группа
Индивидуальное задание Вариант №3
Двусвязный список с внешним итератором
Класс DList содержит методы:
void push_back(const int &x);//Добавление элемента в конец списка
void push_front(const int &x);//Добавление элемента в начало списка
bool is_empty();//Проверка списка на пустоту
void pop_back();//Удаление элемента с конца
void pop_front();//Удаление элемента с начала
int back() const;//Значение конца списка
int front() const;//Значение начала списка
void erase();//Очистка списка
Поддерживаются следующие перегрузки:<<,==
Вложенный класс DIterator содержит методы:
DIterator begin();//Возвращает итератор на начало списка
DIterator end();//Возвращает итератор на конец списка(вообще говоря nullptr)
DIterator find(const int &x);//Возвращает итератор на искомый элемент
DIterator findFEGG(const int &x);//Возвращает итератор на первый элемент больше заданного
void insert_after(const DIterator &it, const int &x);//Вставка после целевого элемента
void insert_before(const DIterator &it, const int &x);//Вставка до целевого элемента
void remove(const DIterator &it);//Удаление элемента, на который указывает итератор
Поддерживаются следующие перегрузки:==,!=,>,<,++(инкремент),++(декремент),--(инкремент),--(декремент),*
Для классов DList и DIterator реализованы QtTest
Ниже перечень для обоих классов:
//DList
void push_back();
void push_front();
void is_empty();
void pop_back();
void pop_front();
void back();
void front();
//DIterator
void begin();
void end();
void find();
void findFEGG();
void insert_after();
void insert_before();
void remove();
На базе класса DList с вложенным классом DIterator реализованна представленная ниже задача:
Пользователем вводится последовательность элементов, признак окончания последовательности – не число (некорректный ввод). Реализовать хранение чисел в
списке в отсортированном виде, без повторяющихся значений. По окончании ввода вывести значения в порядке возрастания.
Сортировка списка происходит real time,т.е список отсортировывается каждый раз как на вход подается новый элемент.
Реализовано посредством вставки нововходящего элемента в нужное место списка.