Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- int n;
- struct nod
- {
- int info;
- nod*leg;
- };
- nod* creare()
- {
- nod*prim,*ultim,*p;
- int nr;
- prim=new nod;
- ultim=prim;
- cout<<"Nr: ";
- cin>>nr;
- if(nr==0)
- {
- cout<<"Lista este vida";
- return 0;
- }
- else
- {
- prim->info=nr;
- prim->leg=NULL;
- cout<<"Nr: "; cin>>nr;
- while(nr)
- {
- p=new nod;
- p->info=nr;
- ultim->leg=p;
- ultim=p;
- ultim->leg=NULL;
- cout<<"Nr: "; cin>>nr;
- };
- return prim;
- }
- }
- void parcurgere(nod*prim)
- {
- nod*p;
- p=prim;
- while(p)
- {
- cout<<p->info<<" ";
- n++;
- p=p->leg;
- }
- }
- 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->leg=prim;
- prim=p;
- }
- else
- if(k==n+1)
- {
- q=prim;
- while(q->leg)
- q=q->leg;
- q->leg=p;
- p->leg=NULL;
- }
- else
- {
- q=prim;
- int ct=1;
- while(ct<k-1)
- {
- q=q->leg;
- ct++;
- }
- p->leg=q->leg;
- q->leg=p;
- }
- return 1;
- }
- }
- int main()
- {
- nod* prim;
- int k,inf;
- prim=creare();
- parcurgere(prim);
- cout<<"Nr. de noduri este: "<<n;
- cout<<endl<<"Pozitia si valoarea pentru inserare: ";
- cin>>k>>inf;
- if(!inserare(prim,k,inf))
- cout<<"Pozitia introdusa nu se afla in lista!";
- else
- parcurgere(prim);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement