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;
- int inserare(nod*&prim, int k, int inf)
- {
- nod* p,*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!=NULL)
- 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;
- }
- }
- 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 main()
- {
- nod* prim;
- int k, inf;
- prim=creare2();
- parcurgere(prim);
- cout<<"Numarul de noduri este: "<<n<<endl;
- cout<<"Pentru inserare, introduceti pozitia si valoarea: "; cin>>k>>inf;
- if(!inserare(prim,k,inf)) cout<<"\nPozitia introducsa nu se afla in lista.";
- else parcurgere(prim);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement