colas

COLAS EN C++
  1. #include<conio.h>
    #include<stdio.h>
    #include<stdlib.h>
    #include<iostream.h>

    struct nodo_cola
          {
        int dato;
        nodo_cola *sgte;
          };

    typedef nodo_cola *nodo;

    int Inicializa(nodo Cola);
    nodo CrearNodo(int elem,nodo enlace);
    nodo AgregarCola(nodo Cola, int elem);
    int Primero(nodo Cola);
    nodo Inicializar(nodo Pila);
    void imprimir(nodo Cola);
    nodo Atender(nodo Cola);
    nodo Atender_Varias(nodo Cola);

      Menu(int num);


    void main()
        {  nodo cola=NULL;
            int opcion,num=0;
            int elem;
         do{
             opcion=Menu(num);
             switch(opcion)
            {
         case 1:clrscr();
                printf("Ingrese elemento a Insertar ");
                 scanf("%d",&elem);
                 cola=AgregarCola(cola, elem);
                     break;

         case 2:clrscr();
                imprimir(cola);
                 getch();
                  break;

         case 3:clrscr();
               cola=Inicializar(cola);
            break;

         case 4:clrscr();

          printf("El Primer elemento de la Cola es :%d", Primero(cola));
              getch();
              break;
         case 5:clrscr();
              Atender(cola);
               break;
           case 6:clrscr();
             cola= Atender_Varias(cola);
               break;

         case 7: clrscr();
                 break;
             }
         }while(opcion!=7);
    }

     Menu(int num)
        {
          clrscr();
          gotoxy(20,5);
           printf("____________________'COLAS'_______________\n\
             |•|    [1]  Agregar Cola                  |•|\n\
             |•|    [2]  Mostrar Cola                  |•|\n\
             |•|    [3]  Inicializar Cola              |•|\n\
             |•|    [4]  Mostrar Primer Elemento       |•|\n\
             |•|    [5]  Atender                       |•|\n\
             |•|    [6]  Atender_Varias                |•|\n\
             |0|    [7]  Fin                           |•|\n\
             |•|________________________________________|•|\n\n");
             printf("Ingrese opcion: _");
             scanf("%d",&num);
          clrscr();
        return num;
        }





    nodo CrearNodo(int elem,nodo enlace)
    {
      nodo nuevo;
      nuevo=(nodo)malloc(sizeof(struct nodo_cola));
      nuevo->dato=elem;
      nuevo->sgte=enlace;
      return nuevo;
    }



    nodo AgregarCola(nodo Cola, int elem)
         { nodo nuevo;
            nuevo=CrearNodo(elem,NULL);
            nuevo->sgte=Cola;
            Cola=nuevo;
            return(Cola);
         }
     int Primero(nodo Cola)
        { int num;
          nodo aux;
         if(Cola==NULL)
         printf("Cola Vacia");
          else
        {
           while(aux->sgte!=NULL)
            {
             aux=aux->sgte;
            }
            num=aux->dato;
           return num;
        }
           getch();
          }

    nodo Inicializar(nodo Cola)
     {
      nodo aux;
      aux=Cola;
     while (aux!=NULL)
     {
      Cola=Cola->sgte;
      free (aux);
      aux=Cola;
     }
     return (aux);
    }

    void imprimir(nodo Cola)
        {
         if(Cola!=NULL)
          {
           while(Cola!=NULL)
        {
          printf("|%d|->",Cola->dato);
          Cola=Cola->sgte;
           }
        printf("Atender");
        }
             else
             printf("Cola vacia");
             }

    nodo Atender(nodo Cola)
        {
        int num;
          nodo aux;
         if(Cola==NULL)
         printf("Cola Vacia");
          else
        {   aux=Cola;
           while(aux->sgte->sgte!=NULL)
            {
              aux=aux->sgte;
            }
          aux->sgte=NULL;

          }

    }

    nodo Atender_Varias(nodo Cola)
        { if(Cola==NULL)
         printf("Cola Vacia");
         else
          {
         int i;
         i=Primero(Cola);
         Atender(Cola);
         Cola= AgregarCola(Cola,i);
         return Cola;
         }
       getch();
        }
     

No hay comentarios:

Publicar un comentario