Guest User

Untitled

a guest
Apr 20th, 2018
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.49 KB | None | 0 0
  1. //Il vostro compilatore potrebbe invece richiedere <iostream>
  2.  
  3. //Creo la lista "vuota", che in realtà non è altro che un puntatore all'inizio della lista; tengo conto di questo per le funzioni
  4. //che inizieranno sempre da root->next, invece che da root.
  5.  
  6. #include <iostream.h>
  7.  
  8. struct lista {
  9. int val;
  10. lista *next;
  11. };
  12.  
  13. lista *crea(){
  14. lista *root;
  15. root = new lista;
  16. root->next = NULL;
  17. return root;
  18. }
  19.  
  20. void push(lista *root, int val) {
  21. while (root->next != NULL) {
  22. root = root->next;
  23. }
  24. root->next = new lista;
  25. root->next->next = NULL;
  26. root->next->val = val;
  27. }
  28.  
  29. void pop(lista *root) { //pop elimina l'elemento in coda, è possibile fare funzioni per scorrere la lista ed eliminarne uno a piacere
  30. if (root->next == NULL) {
  31. cout << "La lista e' gia' vuota.\n";
  32. }
  33.  
  34. else {
  35. while (root->next->next != NULL) {
  36. root = root->next;
  37. }
  38. delete root->next;
  39. root->next = NULL;
  40. }
  41. }
  42.  
  43. void stampa(lista *root){
  44. while (root->next != NULL) {
  45. cout << root->next->val << "\n";
  46. root = root->next;
  47. }
  48. }
  49.  
  50.  
  51.  
  52. int main(){ //i primi due comandi sono necessari, per il resto potete provarla con push(root, n) prendendo in input n, facendo menu interattivi ecc.
  53. lista *root;
  54. root = crea();
  55. system("PAUSE");
  56. return 0;
  57. }
Add Comment
Please, Sign In to add comment