DevioLab CRYPTO TRADING AUTOMATION
LIVE
AUTOMATED CRYPTO TRADING • BINANCE
Автоматизуйте свій криптопортфель
Торгові боти DevioLab аналізують крипторинок, автоматично відкривають і закривають позиції та керують вашим портфелем на Binance 24/7.
CRYPTO 80 Bots
BINANCE Spot Trading
TRADING 24 / 7
Спробувати DevioLab
deviolab.com

Структура даних

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

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

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

Рік:
2013
Тип роботи:
Звіт до лабораторної роботи
Предмет:
Інші

Частина тексту файла (без зображень, графіків і формул):

Міністерство освіти і науки України Національний Університет « Львівська Політехніка» Кафедра ЕОМ Звіт до лабораторної роботи №4 на тему: « Структура даних „ЧЕРГА”.» Варіант 15. Назва роботи: Структури даних “черга”. Мета роботи: Закріпити теоретичні знання та оволодіти практичними навиками опрацювання структур даних “черга”. Засвоїти техніку створення та опрацювання складних типів даних. Теоретична частина: Чергою називається впорядкований набір елементів які можуть вилучатись з одного його кінця, який називається початком черги і додаватися в її кінець, який називається кінцем черги. Дег – об’єднання черги і стеку, де додавання і вилучення можливе з двох її кінців. Виконання роботи Завдання: Змоделюйте чергу за допомогою двух стеків, представлених за допомогою вказівників. Додавання елементу до черги зводиться до додавання до одному зі стеков, а перевірка, чи черга порожня - до перевірки, чи порожні обидва стеки. При вилученні елемента з черги можливі два випадки. Якщо стек, де знаходиться початок черги, не порожній, то вилучається з нього елемент. Якщо він порожній, то попередньо в нього переписуються всі елементи другого стеку, змінюючи порядок (це відбувається саме при перекладанні зі стеку в стек) і далі задача зводиться до першого випадку. #include <stdio.h> #include <conio.h> #include <stdlib.h> #define size 10 #define infotype int #define printfspec "%d " struct stacktype { infotype data[size]; int top,EMPTY,FULL; } ; typedef struct stacktype stack; void Init(stack *s); void Push(stack *s, infotype new_data); infotype Pop(stack *s); void Print(stack *s); void main() { stack ST; infotype x; Init(&ST); printf("\nEnter elements in the stack:\n"); do { printf("Enter the new element(zero - break inputing elements): "); scanf("%d",&x); if (x) Push(&ST,x); } while (x); Print(&ST); x=Pop(&ST); Print(&ST); Pop(&ST); Print(&ST); Pop(&ST); Print(&ST); Push(&ST,x); Print(&ST); getch(); return; } void Init(stack *s) { s->EMPTY=1; s->FULL=0; s->top=-1; return; } void Push(stack *s, infotype new_data) { if (s->FULL) printf(" Error : Stack overflowed! \n"); else s->data[++s->top] = new_data; s->EMPTY=0; if(s->top+1==size) s->FULL=1; else s->FULL=0; return; } infotype Pop(stack *s) { if (s->EMPTY) { printf(" Error : Stack is empty! \n"); return 0; } else{ s->FULL=0; if(s->top==0) s->EMPTY=1; else s->EMPTY=0; return s->data[s->top--];} } void Print(stack *s) { int i; printf("Elements of stack: "); if (s->EMPTY) printf("Stack is empty! \n"); else { for (i=0;i<=s->top;i++) printf(printfspec,s->data[i]); printf("\n"); } return; } Результат виконання  Висновок: Закріпив теоретичні знання та оволодів практичними навиками опрацювання структур даних “Черга”. Засвоїв техніку створення та опрацювання складних типів даних.
Антиботан аватар за замовчуванням

31.03.2013 14:54

Коментарі

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

Ділись своїми роботами та отримуй миттєві бонуси!

Нічого не вибрано
0%

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

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

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!