Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*Gestione di una coda con puntatori */
- #include <stdio.h>
- #include <stdlib.h>
- struct Nodo{
- int Dato;
- struct Nodo *succ;
- };
- struct Nodo *Testa=NULL;
- struct Nodo *Fine;
- void Menu(){
- printf("\n1) Inserisci nodo \n2) Estrai nodo \n3) Visualizza coda \n4) Distruggi coda \n5) Fine. \n");
- }
- void Push(){
- struct Nodo *Nuovo;
- Nuovo=(struct Nodo*)malloc(sizeof(struct Nodo *));
- printf("Inserisci un nuovo nodo \n");
- scanf("%d",&Nuovo->Dato);
- Nuovo->succ=NULL;
- if(Testa==NULL){
- Testa=Nuovo;
- }
- else{
- Fine->succ=Nuovo;
- }
- Fine=Nuovo;
- }
- void Pop(){
- struct Nodo *p;
- if(Testa==NULL)
- printf("Coda vuota. Nessun elemento estratto. \n");
- else{
- printf("Nodo estratto = %d \n",Testa->Dato);
- p=Testa->succ;
- free(Testa);
- Testa=p;
- }
- }
- void Visualizza(){
- struct Nodo *p;
- if(Testa==NULL)
- printf("Coda vuota \n");
- else{
- p=Testa;
- printf("Testa della coda \n\n");
- while(p!=NULL){
- printf("%d\n",p->Dato);
- p=p->succ;
- }
- printf("\n\nFine della coda \n");
- }
- }
- void Distruggi(){
- while(Testa!=NULL){
- Pop();
- }
- printf("Coda vuota. \n");
- }
- main(){
- int scelta;
- do{
- do{
- Menu();
- printf("Inserisci la tua scelta \n");
- scanf("%d",&scelta);
- switch(scelta){
- case 1:
- Push();break;
- case 2:
- Pop();break;
- case 3:
- Visualizza();break;
- case 4:
- Distruggi();break;
- }
- }while(scelta<1||scelta>5);
- }while(scelta!=5);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement