Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- struct nod
- {
- nod *leg;
- int info;
- };
- nod* creare()
- {
- nod* prim, *ultim, *p;
- int nr;
- prim=new nod;
- ultim=prim;
- cout<<"Introduceti un numar: ";
- cin>>nr;
- if (nr==0)
- {
- cout<<"Lista este vida.";
- return 0;
- }
- else
- {
- prim->info=nr;
- prim->leg=NULL;
- cout<<"Introduceti un numar: ";
- cin>>nr;
- while(nr)
- {
- p=new nod;
- p->info=nr;
- ultim->leg=p;
- ultim=p;
- ultim->leg=NULL;
- cout<<"Introduceti un numar: ";
- cin>>nr;
- }
- return prim;
- }
- }
- void parcurgere(nod* v)
- {
- nod* c=v;
- while(c)
- {
- cout << c->info<<" ";
- v++;
- c=c->leg;
- }
- }
- nod* interclasare (nod* prim1, nod* prim2)
- {
- nod *p, *q, *r, *prim;
- if(prim1->info < prim2->info)
- {
- prim = prim1;
- p = prim1;
- q = prim2;
- }
- else
- {
- prim = prim2;
- p = prim2;
- q = prim1;
- }
- while(p->leg)
- {
- if(p->leg->info < q->info)
- p = p->leg;
- else
- {
- r = p->leg;
- p->leg = q;
- p = r;
- swap(p,q);
- }
- }
- p->leg = q;
- return prim;
- }
- int main()
- {
- nod *prim1 = creare(), *prim2 = creare();
- parcurgere(prim1);
- cout << endl;
- parcurgere(prim2);
- cout << endl;
- prim1 = interclasare(prim1,prim2);
- parcurgere(prim1);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement