1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
| #include <iostream>
using namespace std;
struct nod{
string nr;
nod *leg;
};
nod*v,*sf;
int n;
void Pune (nod *&v, nod*& sf,string n){ // с этой функцией я добавляю элементы в конец очереди
nod* c;
if(!v){
v=new nod;
v->nr=n;
v->leg=0;
sf=v;
} else {
c=new nod;
sf->leg=c;
c->nr=n;
c->leg=0;
sf=c;
}}
void pus (nod *&v, nod*& sf,string n){ // тут не знаю как сделать чтоб добавлял элемент в впереди очереди
}
void Scoate (nod *&v) // С этой функцией я убираю первый элемент из очереди
{
nod*c;
if(!v) cout<<"Coada este vida!";
else {
cout<<"Am scos "<<v->nr<<endl;
c=v;
v=v->leg;
delete c;
}
}
void Scos(nod *&v)
{
nod*c;
if(!v) cout<<"Coada este vida!";
else { // Тут лишь показывает если очередь пуста , а так чтоб убирал последний элемент , увы не смог разобраться
}}
void listare(nod *v){ // С этой функцией на мониторе вывожу очередь
nod *c=v;
while(c){
cout<<c->nr<<" ";
c=c->leg;
}
cout<<endl;
}
int main (int arcg,char* argv[]){
Pune(v,sf,"D"); // Тут очередь из элементов "DEQUEUE" типа string
Pune(v,sf,"E");
Pune(v,sf,"Q");
Pune(v,sf,"U");
Pune(v,sf,"E");
Pune(v,sf,"U");
Pune(v,sf,"E");
int op;
while(1){
cout<<" Meniu "<<endl; //Тут простой меню где пользователь выбирает желаемые операции
cout<<"Selectati operatia: "<<endl;
cout<<"1-Suprimarea elementului in fruntea cozii"<<endl;//Убирает элемент в начале очередь . Статус работает.
cout<<"2-Suprimarea elementului in spatele cozii"<<endl;//Убирает элемент в конце очередь . Статус не разработан.
cout<<"3-Inserarea elementului in fruntea cozii"<<endl;//Добавляет элемент в начало очередь . Статус не разработан.
cout<<"4-Inserarea elementului in spatele cozii"<<endl;//Добавляет элемент в конец очередь . Статус работает.
cout<<"5-Finisarea executiei programului"<<endl; //завершает работы программы . Статус-Работает
cin>>op; //Знаю мог сделал с case , но мне привычней с if работать
if(op==1){
listare(v);
Scoate(v);listare(v);}
if(op==2){
Scos(v);listare(v);}
if(op==3){
string lol;
cout<<"Elementul care fa fi inserat in fruntea cozii:";
cin>>lol;
Pune(v,sf,lol);
}
if(op==4){
string lol;
cout<<"Elementul care fa fi inserat in spatele cozii:";
cin>>lol;
Pune(v,sf,lol);
}
if(op==5)
return 0;
}
return 0;} |