Sie sind auf Seite 1von 6

Laborator 5

FIFO

#include <iostream>
#include <windows.h>
using namespace std;
typedef struct Coada Coada;
struct Coada
{
int val;
Coada *pre;
Coada *suc;
};
void watch(Coada* &cap)
{
Coada *n = new Coada;
n=cap;
if(n == NULL) { cout<<"\n\nCoada nu are elemente!\n\n";Sleep(1000);return ;}
cout<<"Elementele cozii:\n";
while(n != NULL)
{
cout<<n->val<<" ";
n = n->suc;
}
cout<<"\n\n";
system("pause");
}
void add(Coada* &cap, int val)
{
Coada *nou = new Coada;
nou->val = val;
nou->pre = NULL;
nou->suc = NULL;

if(cap == NULL)
{
cap = nou;
cap->pre = cap;//->succesor = cap;
return ;
}

cap->pre->suc = nou;
cap->pre = cap->pre->suc;
}

void del(Coada* &cap)


{
Coada *delet = cap;
cap->suc->pre = delet->pre;
cap= cap->suc;
delete delet;
}

int vl()
{
int n;
cout<<"Dati elementul :\n";
cin>>n;
return n;
}

int main()
{
Coada *cap = NULL;
bool exit = false;
char n;
do
{
system("cls");
cout<<"1. Adauga in coada\n";
cout<<"2. Sterge din coada\n";
cout<<"3. Afiseaza coada\n";
cout<<"4. Exit\n";
cin>>n;
switch(n)
{
case '1' : add(cap,vl()); break;
case '2' : del(cap);break;
case '3' : watch(cap);break;
case '4' : exit = true; break;
default : cout<<"\n\n Nu cunosc asa operatie !!!\n\n";Sleep(1000);
}
}
while(!exit);
return 0;
}

FILO

#include <iostream>
#include <windows.h>
using namespace std;

typedef struct Stiva Stiva;

struct Stiva
{
int val;
Stiva *urmator;
};

void watch(Stiva* &caps)


{
Stiva *cap = new Stiva;
cap = caps;
if(cap == NULL) {cout<<"\n\nStiva este goala\n\n";Sleep(1000);return ;}
cout<<"Elementele stivei:\n";
while(cap!=NULL)
{
cout<<cap->val<<" ";
cap = cap->urmator;
}
cout<<"\n\n";
system("pause");
}

int add(Stiva* &cap, int val)


{
Stiva *nou = new Stiva;
nou->val = val;
nou->urmator = cap;
cap = nou;
}

void del(Stiva* &cap)


{
if(cap == NULL) return ;
Stiva *delet = cap;
cap = cap->urmator;
delete delet;
}

int vl()
{
int val;
cout<<"Valoare:\n";
cin>>val;
return val;
}

void cls()
{
system("cls");
}

int main()
{
Stiva *cap = NULL;

char n;
bool exit = false;
do
{
cls();
cout<<"1. Adaugare in stiva\n";
cout<<"2. Stergere din stiva\n";
cout<<"3. Afisarea stivei\n";
cout<<"4. Exit\n";
cin>>n;
switch(n)
{
case '1' : add(cap,vl()); break;
case '2' : del(cap);break;
case '3' : watch(cap);break;
case '4' : exit = true; break;
default : cout<<"\n\nOperatie necunoscuta\n";Sleep(1000);
}
}
while(!exit);

return 0;
}

Das könnte Ihnen auch gefallen