/*#include <iostream> using namespace std; struct nod { int info; nod *urm; } *prim, *ultim; void inserare (int x, nod * &prim;) { nod *q; q= new nod; q->info=x; q->urm=prim; prim=q; } void sterge(nod * &prim;) { prim=prim->urm; } void afisare (nod * prim) { nod *q; q = prim; while (q != NULL) { cout << q->info << " "; q = q->urm; } } void adaug (int x, nod * &prim;) { nod *q; q = new nod; q->info = x; q->urm = NULL; if (!prim) prim = ultim = q; else { ultim->urm = q; ultim = q; } } int main () { int n, i, x; cin >> n; for (i = 1; i <= n; i++) { cin >> x; adaug (x, prim); } afisare (prim); sterge (prim); afisare (prim); return 0; } */ #include <iostream> using namespace std; struct nod { int info; nod *urm; } *prim, *ultim; void inserare (int x, nod * &prim;) { nod *q; q = prim; while (q->urm != NULL) q = q->urm; nod *k; k = new nod; k->info = x; q->urm = k; } void sterge (nod * prim) { nod *q; q = prim; while (q->urm->urm != NULL) q = q->urm; q->urm=NULL; } void afisare (nod * prim) { nod *q; q = prim; while (q != NULL) { cout << q->info << " "; q = q->urm; } } void adaug (int x, nod * &prim;) { nod *q; q = new nod; q->info = x; q->urm = NULL; if (!prim) prim = ultim = q; else { ultim->urm = q; ultim = q; } } int main () { int n, i, x; cin >> n; for (i = 1; i <= n; i++) { cin >> x; adaug (x, prim); } afisare (prim); cout << endl; sterge(prim); afisare (prim); return 0; }