Частина тексту файла (без зображень, графіків і формул):
МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА”
Кафедра ICM
Лабораторна робота №4
з дисципліни “Алгоритми і структури даних”
“ Стек і черга. Хеш таблиця.”
Львів 2007
Тема: Стек і черга. Хеш таблиця.
Мета роботи: набуття навичок моделювання зв’язаних динамісних структур даних та роботи з ними
Завдання на роботу:
Розробити підпрограми, які забезпечують запити на запис або читання даних з черги, стека або дека. Для організації вказаних структур використовувати масиви або списки. Перевірити працездатність розроблених підпрограм. Послідовність виконання операцій запису або читання вибираються випадково. Порівняти результати роботи, зробити висновки.
1
Розробити підпрограми роботи пріоритетною чергою. Постановка запитів в чергу виконується по пріоритету, зняття - підряд з молодших адрес ( засади черги). Черга організована на масиві із зрушенням після кожного читання і на масиві із зрушенням після досягнення межі пам'яті, яка виділена для черги. Пріоритет: мin значення числового параметра, при збігу параметрів - LIFO
Хід виконання завдання
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#define M 10
typedef struct List{
int items[M];
int head;
int tail;
};
struct List L;
void Vvedennya();
void Chytannya();
void main(void)
{
int i,n;
double k;
clrscr();
printf("\nVvedit kilkist chysel:\t");
scanf("%d",&n);
for(i=0;i<n;i++)
{
if(L.tail==M-1)
if(L.head==0)
{
printf("4erha povna!\nVvedennja perervane!\n");
break;
}
Vvedennya();
}
printf("Skilku z4utatu?\n");
scanf("%d",&n);
for(i=0;i<n;i++)
{
Chytannya();
}
printf("\n");
}
void Chytannya()
{
printf("%d ",L.items[L.head]);
L.head++;
}
void Vvedennya()
{
scanf("%d",&L.items[L.tail]);
L.tail++;
}
Висновок: на даній лабораторній роботі я набув практичних навичок застосування операцій над стеком і чергою.
Ви не можете залишити коментар. Для цього, будь ласка, увійдіть
або зареєструйтесь.
Ділись своїми роботами та отримуй миттєві бонуси!
Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!