Professional Documents
Culture Documents
Main.cpp
#include "Header.h"
int main() {
Elem* cap;
Elem* cap1, * cap2, * cap3;
int n = 10;
initializare(cap);
afisare(cap);
stergerePozitie(cap, -30);
stergerePozitie(cap, 0);
stergerePozitie(cap, 1);
stergerePozitie(cap, 10);
stergerePozitie(cap, 5);
stergerePozitie(cap, 200);
afisare(cap);
inversare(cap);
afisare(cap);
eliberareMemorie(cap);
afisare(cap);
cap1 = 0;
cap2 = 0;
for (int i = 0; i < n; i += 2) {
inserareFata(cap1, n - i);
inserareFata(cap2, n - i - 1);
}
afisare(cap1);
afisare(cap2);
eliberareMemorie(cap1);
eliberareMemorie(cap2);
return 0;
}
Functii.cpp
#include "Header.h"
cout << "\nInserare in pozitia = " << poz << " a valorii " << val << "...\n";
if (poz <= 0)
cout << "Pozitie invalida - prea mica...";
else {
if (poz == 1)
inserareFata(cap, val);
else {
contor = 1;
q = cap;
while (contor < poz - 1 && q->succ != cap) {
++contor;
q = q->succ;
}
if (contor == poz - 1) {
cout << "\nPozitie intermediara...";
p = new Elem;
p->data = val;
p->succ = q->succ;
q->succ = p;
}
else
cout << "Pozitie invalida - prea mare...";
}
}
}
return cap;
}
return cap;
}
Header.h
#pragma once
#include <iostream>
using namespace std;
struct Elem {
int data;
Elem* succ;
};
#include "Header.h"
int main() {
Elem* cap;
int n = 10;
initializare(cap);
afisare(cap);
afisareDusIntors(cap);
stergerePozitie(cap, -30);
stergerePozitie(cap, 0);
stergerePozitie(cap, 1);
stergerePozitie(cap, 10);
stergerePozitie(cap, 5);
stergerePozitie(cap, 200);
afisare(cap);
eliberareMemorie(cap);
afisare(cap);
return 0;
}
Functii.cpp
#include "Header.h"
while (p != 0) {
cout << p->data << " ";
p = p->pred;
}
}
else
cout << "\nLista vida.\n";
}
cout << "\nInserare in pozitia = " << poz << " a valorii " << val << "...\n";
if (poz <= 0)
cout << "Pozitie invalida - prea mica...";
else {
if (poz == 1)
inserareFata(cap, val);
else {
contor = 1;
q = cap;
while (contor < poz - 1 && q->succ != 0) {
++contor;
q = q->succ;
}
if (contor == poz - 1) {
p = new Elem;
p->data = val;
p->pred = q;
if (q->succ == 0) {
cout << "\nPozitia finala...";
p->succ = 0;
}
else {
cout << "\nPozitie intermediara...";
p->succ = q->succ;
q->succ->pred = p;
}
q->succ = p;
}
else
cout << "Pozitie invalida - prea mare...";
}
}
}
Header.h
#pragma once
#include <iostream>
using namespace std;
struct Elem {
Elem* pred;
int data;
Elem* succ;
};