Advertisement
a53

Circular List Insert

a53
Feb 1st, 2019
226
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.99 KB | None | 0 0
  1. #include <fstream>
  2. using namespace std;
  3. struct nod
  4. { int inf;
  5. nod *urm;
  6. };
  7. typedef struct nod NOD;
  8. NOD *cap, *p, *noulnod;
  9.  
  10. int main()
  11. {
  12. int n;
  13. ifstream f("circularlistinsert.in");
  14. ofstream g("circularlistinsert.out");
  15. f>>n;
  16. p=new NOD;cap=p; /// Cream primul nod
  17. f>>p->inf; p->urm=NULL;
  18. for(int i=2;i<=n;++i) /// Adaugam urmatoarele n-1 noduri
  19. {
  20. noulnod=new NOD;
  21. f>>noulnod->inf;
  22. p->urm=noulnod;
  23. p=noulnod;
  24. }
  25. noulnod->urm=cap; /// Facem lista circulara
  26. int m,x;
  27. f>>m;
  28. p=cap;
  29. while(m--)
  30. {
  31. f>>x;
  32. for(int i=1;i<=x;++i) /// Ne deplasam cu x pozitii in lista
  33. p=p->urm;
  34. noulnod=new NOD; /// Cream un nou nod si facem legaturile
  35. noulnod->inf=2*p->inf;
  36. noulnod->urm=p->urm;
  37. p->urm=noulnod;
  38. p=noulnod;
  39. }
  40. p=cap; /// Afisam lista
  41. do
  42. {
  43. g<<p->inf<<' ',p=p->urm;
  44. } while(p!=cap);
  45. return 0;
  46. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement