Advertisement
Guest User

Untitled

a guest
Feb 4th, 2014
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.42 KB | None | 0 0
  1. /*Gestione di una coda con puntatori */
  2. #include <stdio.h>
  3. #include <stdlib.h>
  4. struct Nodo{
  5. int Dato;
  6. struct Nodo *succ;
  7. };
  8. struct Nodo *Testa=NULL;
  9. struct Nodo *Fine;
  10. void Menu(){
  11. printf("\n1) Inserisci nodo \n2) Estrai nodo \n3) Visualizza coda \n4) Distruggi coda \n5) Fine. \n");
  12. }
  13. void Push(){
  14. struct Nodo *Nuovo;
  15. Nuovo=(struct Nodo*)malloc(sizeof(struct Nodo *));
  16. printf("Inserisci un nuovo nodo \n");
  17. scanf("%d",&Nuovo->Dato);
  18. Nuovo->succ=NULL;
  19. if(Testa==NULL){
  20. Testa=Nuovo;
  21. }
  22. else{
  23. Fine->succ=Nuovo;
  24. }
  25. Fine=Nuovo;
  26. }
  27. void Pop(){
  28. struct Nodo *p;
  29. if(Testa==NULL)
  30. printf("Coda vuota. Nessun elemento estratto. \n");
  31. else{
  32. printf("Nodo estratto = %d \n",Testa->Dato);
  33. p=Testa->succ;
  34. free(Testa);
  35. Testa=p;
  36. }
  37. }
  38. void Visualizza(){
  39. struct Nodo *p;
  40. if(Testa==NULL)
  41. printf("Coda vuota \n");
  42. else{
  43. p=Testa;
  44. printf("Testa della coda \n\n");
  45. while(p!=NULL){
  46. printf("%d\n",p->Dato);
  47. p=p->succ;
  48. }
  49. printf("\n\nFine della coda \n");
  50. }
  51. }
  52. void Distruggi(){
  53. while(Testa!=NULL){
  54. Pop();
  55. }
  56. printf("Coda vuota. \n");
  57. }
  58. main(){
  59. int scelta;
  60. do{
  61. do{
  62. Menu();
  63. printf("Inserisci la tua scelta \n");
  64. scanf("%d",&scelta);
  65. switch(scelta){
  66. case 1:
  67. Push();break;
  68. case 2:
  69. Pop();break;
  70. case 3:
  71. Visualizza();break;
  72. case 4:
  73. Distruggi();break;
  74. }
  75. }while(scelta<1||scelta>5);
  76. }while(scelta!=5);
  77. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement