Структура даних "ЧЕРГА"

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
Не вказано
Кафедра:
Не вказано

Інформація про роботу

Рік:
2020
Тип роботи:
Лабораторна робота
Предмет:
Програмування Частина III Структури даних та алгоритми

Частина тексту файла

Міністерство освіти і науки України Національний університет “Львівська політехніка”
Звіт про виконання лабораторної роботи 5 з дисципліни: «Програмування. Частина III. Структури даних та алгоритми » на тему: «Структура даних "ЧЕРГА"»
Львів-2020 Мета роботи Вивчення фундаментальної абстрактної структури даних - черги. Набуття практичних навичок побудови черги, дослідження динаміки її вмісту та використання черг для розв'язання прикладних задач.
Завдання
Змоделюйте чергу (або дек) згідно з завданням. Перепишіть
основні операції для роботи з чергою (деком), і продемонструйте їх застосування для операцій додавання і вилучення елементів в чергу (дек).
Для цього задайте послідовність з N цілих чисел. Всі додатні числа послідовно заносяться в чергу (дек), кожне від’ємне число вилучає з черги (деку) один елемент (при роботі з деком, парні числа працюють з одним кінцем деку, а непарні – з іншим). Показувати всі зміни, що будуть відбуватись у черзі (деку). 5 завдання Змоделюйте структуру даних ДЕК з обмеженим входом (тобто вилучати з дека можна з обох кінців, а додавати тільки з одного).
Код програми: include using namespace std;
template
class DEK { private:
T mas[20];
int leght;
bool emptyness; public:
DEK() { // конструктор
leght = 0;
emptyness = true;
}
int size() { // повертає розмір
return leght;
};
bool empty() { // Повертає true, якщо DEK порожній, і false у противному випадку
return emptyness;
};
void push_right(T value) { // функція додавання елементу
if (leght != 20) {
mas[leght] = value;
leght++;
emptyness = false;
for (int i = 0; i < leght; i++) {
cout << "|" << mas[i] << "| ";
}
cout << endl;
}
else {
cout << "DEK is full" << endl;
}
};
void pop_right() { //функція видалення справа
if (leght == 0) {
cout << "DEK is empty" << endl;
return;
}
else {
leght--;
if (leght == 0) {
emptyness = true;
cout << "DEK is empty" << endl;
return;
}
}
for (int i = 0; i < leght; i++) {
cout << "|" << mas[i] << "| ";
}
cout << endl;
};
void pop_left() { // функція видалення зліва
if (leght == 0) {
cout << "DEK is empty" << endl;
return;
}
else {
for (int i = 1; i != leght; i++) {
mas[i-1] = mas[i];
}
leght--;
if (leght == 0) {
cout << "DEK is empty" << endl;
return;
}
}
for (int i = 0; i < leght; i++) {
cout << "|" << mas[i] << "| ";
}
cout < 0) {
return mas[leght - 1];
}
cout << "DEK is empty" << endl;
return -1;
}; };
int main(void) {
DEK
dek;
int array[7];
for (int i = 0; i > array[i];
}
cout << "Your numbers: ";
for (int i = 0; i < 7; i++) {
cout << array[i] << " ";
}
cout << endl;
for (int i = 0; i < 7; i++) {
if (array[i]
0) {
if (array[i] % 2 == 0) {
dek.push_right(array[i]);
}
}
}
if (dek.back() != -1) {
cout << "Back of DEK: " << dek.back() << endl;
}
else {
cout << "DEK is empty";
}
cout << "DEK is empty:" << dek.empty() << endl;
cout << "Size of DEK: " << dek.size() << endl; };
/ Висновок Вивчив поняття черги та ДЕКу, його властивості і навчився реалізувати їх програмно.
Антиботан аватар за замовчуванням

01.01.1970 03:01

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Останні оголошення

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Новини