Ir al contenido principal

Programación en c++: Cola - insertar, encolar, desencolar





#include<iostream.h>
#include<conio.h>
struct nodo{ int nro;
             struct nodo*sgte;
           };
struct cola{
             struct nodo*adelante;
             struct nodo*atras;
             };
void iniciar(struct cola&);
void insertar(cola &cola1, cola &cola2, int n);
void encola(struct cola&, int);
int desencola(struct cola&);
void vercola(struct cola);
void main()
{int n,opc;
 struct cola q;
 struct cola r;
 iniciar(q);
 iniciar(r);
 do{
   cout<<"1. Insertar Elementos"<<endl;
   cout<<"2. Retirar Elementos "<<endl;
   cout<<"3. Ver Cola"<< endl;
   cout<<"4. Salir" <<endl;
   cout<<"Ingrese opcion:";
   cin>>opc;
   switch(opc)
   {
    case 1 : cout<<"Elementos:"<<endl;
             cin>>n;
             insertar(q,r,n);
             break;
    case 2: if(q.adelante!=NULL)
            {n=desencola(q);
            cout<<"Desencola elementos"<<endl;}
            else
            cout<<"No hay elementos en la cola"<<endl;
            break;
    case 3: cout<<"***Elementos de la cola***"<<endl;
            vercola(q);
            cout<<"***Elementos que se repiten***"<<endl;
            vercola(r);
            getch();
            break;
    }
    clrscr();
 }while(opc!=4);
}
void iniciar(struct cola&q)
{q.adelante=NULL;
 q.atras=NULL;
}
void insertar(cola &cola1,cola &cola2, int n)
{
 nodo *aux;
   bool conf=false;
 aux=cola1.adelante;
 while(aux!=NULL)
   {
    if(aux->nro==n)
      {
       conf=true;
         break;
      }
    aux=aux->sgte;
 }
   if(conf==false)
   {
    encola(cola1,n);
   }
   else
   {
    encola(cola2,n);
   }
}

void encola(struct cola &q, int n)
{
struct nodo *p;
p=new (struct nodo);
p->nro=n;
p->sgte=NULL;
if(q.adelante==NULL)
 q.adelante=p; //ingresa el primer elemento
else
 (q.atras)->sgte=p;// si no apunta a un nuevo nodo
q.atras=p;// la cola apunta al ultimo elemento recientemente ingresado
}

//ELIMINA ELEMENTOS EN LA COLA
int desencola(struct cola &q)
{
struct nodo *p;
p=q.adelante;// apunta al primer elemento
int n=p->nro;
q.adelante=(q.adelante)->sgte;
delete(p);
return n;
}

void vercola(struct cola q)
{
 struct nodo *p;
   p=q.adelante;// apunta al primer elementos
 while(p!=NULL)
   {
  cout<<p->nro<<endl;
  p=p->sgte;
 }
}

cola en c++

Comentarios

Entradas más populares de este blog

Lenguaje de Programacion en Java: Ecuación de primer grado

public class Main {     public static void main(String[] args) {         float x,a,e;                   Scanner teclado = new Scanner(System.in);         System.out.println("Coeficiente de X:");         x=teclado.nextInt();         System.out.println("Término independiente:");         a=teclado.nextInt();         if(a==0)           System.out.println("No es una ecuación de primer grado");           else         {              e=-a/x;              System.out.println("La raíz es=" +e);         }                                     } ...

Programacion: Arbol binario - Programacion en c++

1.- Hacer un programa que permita buscar un elemento, el elemento mayor, el elemento menor y el menor de los mayores de un árbol binario. #include <iostream.h> #include <conio.h> struct nodo     {      int valor;      struct nodo* izq;      struct nodo* der;     }; typedef struct nodo *ABB; void inserta(ABB& ,int); void preorden(ABB); void postorden(ABB); void enorden(ABB); void verarbol(ABB,int); int buscar(ABB,int); int buscarmayor(ABB); int buscarmenor(ABB); void podar(ABB&,int); void main() { ABB arbol=NULL; ABB subarbol=NULL; int n,x,opc,a;   do     {      cout<<"menu principal"<<endl;      cout<<"1.ingresar elementos"<<endl;      cout<<"2.pre orden"<<endl;      cout<<"3.mostrar hojas"<...

Programacion: Arreglos con estructuras - ordenamientos

1.- Se pide realizar un ordenamiento de artículos, para ello se debe ingresar n artículos y ordenarlos por su monto de inversión. struct articulo {char codigo[10];  char producto[20];  float preciocompra;  float monto;  int cantidad;  }  #include<iostream.h> #include<string.h> #include<conio.h> #define MAX 50 struct articulo {char codigo[10];  char producto[20];  float preciocompra;  float monto;  int cantidad;  };  void leer(int, struct articulo[]);  void montodeinversion(int, struct articulo[]);  void ordenmonto(int, struct articulo[]);  void listado(int, struct articulo[]);  void main()  {int n;   struct articulo Art[MAX];   cout<<"Cantidad de articulos que desea poner:";   cin>>n;   leer(n,Art);   montodeinversion(n,Art);   ordenmonto(n,Art);   cout<<"productos ordenados por su cantidad de mont...