Частина тексту файла (без зображень, графіків і формул):
Міністерство освіти і науки України
Національний університет “Львівська політехніка”
Кафедра ЕОМ
Звіт
з лабораторної роботи №1
Алгоритми та методи обчислень
Основи аналізу алгоритмів
Завдання: реалізувати програмний продукт (мова програмування на ваш розсуд) згідно наступних варіантів:
Варіант №
Завдання
Примітка
2
Структура даних «Черга»
Реалізувати структуру даних та всі необхідні операції для роботи з нею
Код програми на мові C++:
#include <iostream>
using namespace std;
class Queue {
static const int size1=50;
int *queue;
int first, last;
public :
Queue();
void push(int num);
void pop();
friend void out(Queue q);
int size();
int front();
int back();
};
Queue::Queue()
{
queue = new int[size1];
first = last = 0 ;
}
void out(Queue q)
{
for(int i=q.first+1;i<q.last+1;i++)
{
cout<<" "<<q.queue[i];
}
}
void Queue::push (int num)
{
if ((first+1==first) || ( last+ 1==size1&&(!first) )) {
cout << "queue is full! error!";
return ;
}
last++;
if (last==size1) last = 0;
queue [last] = num;
}
void Queue::pop()
{
if (first == last)
{
cout << "queue is empty! error!";
return;
}
first++;
if (first==size1) first = 0;
}
int Queue::size()
{ int s=0;
for(int i=first;i<last;i++)
{
s++;
}
return s;
}
int Queue::back()
{
return queue[last];
}
int Queue::front()
{
return queue[first+1];
}
int main ()
{
Queue queue1;
cout<<"choose number:"<<endl<<endl;
cout<<"1.push number"<<endl<<"2.pop number"<<endl<<"3.show queue"<<endl
<<"4.size of queue"<<endl<<"5.exit"<<endl<<endl;
int vvid=0, numm=0;
for(int i=0; i<20; i++)
{
cin>>vvid;
switch (vvid){
case 1:{
cout<<"enter number: ";
cin>>numm;
queue1.push(numm);
break; }
case 2:{
queue1.pop();
break; }
case 3:{
cout<<"queue:";
out(queue1);
break; }
case 4:{cout<<"size: "<<queue1.size();
break;}
case 5:{
return 0;
break; }
default:{
cout<<"ERROR!"<<endl;
return -1;}
}
}
return 0 ;
}
Результат виконання програми:
Висновки: на лабораторній роботі №1 я реалізувати структуру даних «черга» та всі необхідні операції для роботи з нею.