Download as txt, pdf, or txt
Download as txt, pdf, or txt
You are on page 1of 2

#include <iostream>

using namespace std;


struct NOD {
int value;
NOD *next;
};
NOD *prim , *ultim, *p, *q;
int crearelista(int x) //corect
{
prim = new NOD;
prim->value = x;
prim->next = NULL;
ultim = prim;
}
int inserareinceput(int x) //corect
{
p = new NOD;
p->next = prim;
prim = p;
prim->value = x;
}
int inserareinterior(int x)
{
q = new NOD;
q->value = x;
p = prim->next;
while(p->value < x) {
p = p->next;
}
q->next = p->next->next;
p->next = q;
}
int inserarefinal(int x)
{
p = new NOD;
p->value = x;
p->next = NULL;
ultim->next = p;
ultim = p;
}

int _inserareinterior(int x)
{
NOD *r;
q = new NOD;
q->value = x;
p = prim;
while(p->value < x) { r = p, p = p->next; }
q->next = p;
r->next = q;
}

int afisare()
{
p = prim;
while(p != NULL) {
cout << p->value << " ";
p = p->next;
}
cout << "\n";
}
int main()
{
struct STR {
// unsigned int v:2[16]; // wrong
// unsigned int v[16]:2; // wrong
// unsigned int (v:2)[16]; // wrong
// unsigned int (v[16]):2; // wrong
// unsigned int *v:2; // wrong
};

struct STR a;
// cout << sizeof(struct STR) << "\n" << sizeof(int) << "\n";
// a.a = 0;
// for(int i = 0; i < 8; ++i, ++a.a) { cout << i << ". " << a.a << "\n"; }

return 0;

int x, y;
cout << "Primul element al listei este :";
cin >> x;

crearelista(x);
cout << "Inserare element [1]\nAfisare matrice [2]\n";
while(x != 0) {
cout << "\nComanda numarul: ";
cin >> x;
switch(x) {
case 0:
x = 0;
break;
case 1:
cout << "\nElementul inserat este " ;
cin >> y;
if(y < prim->value) { ///////// BUBA!
inserareinceput(y);
} else if(y > ultim->value) {
inserarefinal(y);
} else { _inserareinterior(y); }

afisare();

break;
case 2:
afisare();
break;

}
}
return 0;
}

You might also like