Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- struct nod
- {
- int info;
- nod* adr;
- };
- int n;
- void parcurgere(nod* v)
- {
- nod* c=v;
- while(c)
- {
- cout<<c->info<<" ";
- n++;
- c=c->adr;
- }
- }
- nod* creare2()
- {
- 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->adr=NULL;
- cout<<"Introduceti un numar: "; cin>>nr;
- while(nr){
- p=new nod;
- p->info=nr;
- ultim->adr=p;
- ultim=p;
- ultim->adr=NULL;
- cout<<"Introduceti un numar: "; cin>>nr;
- };
- return prim;
- }
- }
- int inserare(nod* &prim , int k, int inf)
- {
- nod *q;
- if(k>n+1) return 0;
- else
- {
- nod* p=new nod;
- p->info=inf;
- if(k==1)
- {
- p->adr=prim;
- prim=p;
- }
- else if(k==n+1)
- {
- q=prim;
- while(q->adr)
- q=q->adr;
- q->adr=p;
- p->adr=NULL;
- }
- else
- {
- q=prim;
- int ct=1;
- while(ct<k-1)
- {
- q=q->adr;
- ct++;
- }
- p->adr=q->adr;
- q->adr=p;
- }
- return 1;
- }
- }
- int stergere(nod* &prim, int j)
- {
- nod *q;
- if(j>n) return 0;
- else
- {
- nod* p=new nod;
- if(j==1)
- {
- p=prim;
- prim=p->adr;
- delete p;
- }
- else if(j==n)
- {
- q=prim;
- while(q->adr->adr)
- {
- q=q->adr;
- }
- q->adr=NULL;
- delete q->adr;
- }
- else
- {
- q=prim;
- int c=1;
- while(c<j-1)
- {
- q=q->adr;
- c++;
- }
- p=q->adr;
- q->adr=q->adr->adr;
- p->adr=NULL;
- }
- return 1;
- }
- }
- int main()
- {
- nod* prim;
- int k, inf, j;
- prim=creare2();
- parcurgere(prim);
- cout<<" numarul de noduri este "<<n;
- /*cout<<"\nPentru inserare, introduceti pozitia si valoarea: "; cin>>k>>inf;
- if(!inserare(prim, k, inf))
- cout<<"\npozitia introdusa nu se afla in lista";
- else
- parcurgere(prim);*/
- cout<<"\nPentru stergere, introduceti pozitia: "; cin>>j;
- if(stergere(prim, j)==0)
- cout<<"\npozitia introdusa nu se afla in lista";
- else
- parcurgere(prim);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement