Advertisement
MouseyN1

O gramada de probleme inutile cu noduri

May 30th, 2013
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. void inserare_fata(nod *&prim, int nr)
  2. {
  3.     nod *p = new nod;
  4.     p -> info = nr;
  5.     p -> urm = prim;
  6.     prim = p;
  7. }
  8.  
  9. void inserare_spate(nod *&prim, nod *&ultim, int nr)
  10. {
  11.     nod *p;
  12.     p = new nod;
  13.     p -> info = nr;
  14.     p -> urm = NULL;
  15.     if(ultim != NULL)
  16.         ultim -> urm = p
  17.     else
  18.         prim = p;
  19.     ultim = p;
  20. }
  21.  
  22. void inserare_inainte(nod *p, nod *&prim, nod *&ultim, int nr)
  23. {
  24.     nod *q;
  25.     q = new nod;
  26.     q -> info = p -> info;
  27.     p -> info = nr;
  28.     q -> urm = p -> urm;
  29.     p -> urm = q;
  30.     if(p == ultim)
  31.         ultim = q;
  32. }
  33.  
  34. void inserare_dupa(nod *p, nod *&prim, nod *&ultim, int nr)
  35. {
  36.     nod *q;
  37.     if(prim)
  38.     {
  39.         p = prim;
  40.         prim = prim -> urm;
  41.         delete p;
  42.         if(prim == NULL)
  43.             ultim = NULL;
  44.     }
  45.     else cout << "Lista vida.";
  46. }
  47.  
  48. void stergere(nod *&q)
  49. {
  50.     nod *p = prim;
  51.     if(p == q) {
  52.     prim = p -> urm;
  53.     delete q;
  54.     }
  55.     else if(ultim == q) {
  56.     for(p = prim; p -> urm -> urm != NULL; p = p -> urm)
  57.         ultim = p;
  58.     ultim -> urm = NULL;
  59.     delete q;
  60.     }
  61.     else {
  62.     p = prim;
  63.     while(p -> urm != NULL)
  64.         p = p -> urm;
  65.     p -> urm = p -> urm -> urm;
  66.     delete q;
  67.     }
  68. }
  69.  
  70. void afisare_lista(nod *prim)
  71. {
  72.     nod *p;
  73.     for(p = prim; p != NULL; p = p->urm)
  74.         g << p -> info << " ";
  75.     g << endl;
  76. }
  77.  
  78. void push(nod *&vf, int x)
  79. {
  80.     nod *p;
  81.     p = new nod;
  82.     p -> info = x;
  83.     p -> urm = vf;
  84.     vf = p;
  85. }
  86.  
  87. void pop(nod *&vf, int &x)
  88. {
  89.     if(vf != NULL)
  90.     {
  91.     p = vf;
  92.     x = p -> info;
  93.     cout << "info se va afisa" << x;
  94.     vf = p -> urm;
  95.     delete p;
  96.     }
  97.     else cout << " Nu exista niciun element in lista";
  98. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement