Ir al contenido principal

Programación en c++: Cola - buscar, vaciar, desencolar y ver cola





#include<iostream.h>
#include<conio.h>
#include<stdio.h>
void inicializa(struct cola&);
void encola(struct cola&,int);
void verCola(struct cola);
void vaciaCola(struct cola&);
int buscar(struct cola&,int);
int desencola(struct cola&);
struct nodo{
           int nro;
           struct nodo*sgte;
           };
struct cola{
           struct nodo*delante;
           struct nodo*atras;
           };
void main(void)
{
int opc;
struct cola q;
int n,ele;
inicializa(q);
do{
  cout<<endl<<"-----MENU-----"<<endl;
  cout<<"1.Encolar elemento"<<endl;
  cout<<"2.Desencolar elemento"<<endl;
  cout<<"3.Visualizar cola"<<endl;
  cout<<"4.Vaciar cola"<<endl;
  cout<<"5. Buscar"<<endl;
  cout<<"6.Salir"<<endl;
  cout<<"Ingrese opcion = ";cin>>opc;

switch(opc)
 {
 case 1:cout<<endl<<"Encolar elemento = ";cin>>n;
 encola(q,n);
 break;
 case 2:if(q.delante!=NULL)
        {
        n=desencola(q);
        cout<<endl<<"Desencola elemento = "<<n<<endl;
        }
        else cout<<endl<<"No hay elementos en la cola"<<endl;
        break;
 case 3:cout<<endl<<"Elemento de la cola = "<<endl;
        verCola(q);
        break;
 case 4:vaciaCola(q);
        break;
  case 5:cout<<"elemento que desea buscar:";
         cin>>ele;
         if(buscar(q,ele)==1)
          cout<<"elemento encontrado.\n";
         else
           cout<<"elemento no encontrado.\n";
        break;
 }
 }while(opc!=6);
}
void inicializa(struct cola&q)
{
q.delante=NULL;
q.atras=NULL;
}
void encola(struct cola&q,int n)
{
struct nodo*p;
p=new(struct nodo);
p->nro=n;
p->sgte=NULL;
if(q.delante==NULL)
 q.delante=p;
else(q.atras)->sgte=p;
 q.atras=p;
}
int desencola(struct cola&q)
{
struct nodo*p;
p=q.delante;
int n=p->nro;
q.delante=(q.delante)->sgte;
delete(p);
return n;
}
void vaciaCola(struct cola&q)
{
struct nodo*p,*r;
p=q.delante;
while(p!=NULL)
 {
 r=p;
 p=p->sgte;
 delete(r);
 }
 q.delante=NULL;
 q.atras=NULL;
}
void verCola(struct cola q)
{
struct nodo*p;
p=q.delante;
while(p!=NULL)
 {
 cout<<p->nro<<endl;
 p=p->sgte;
 }
}
int buscar(struct cola&q, int ele)
{int k=1;
while(q.delante!=NULL)
{
 if(q.delante!=NULL)
 {
 printf("POSICION DEL ELEMENTO %i", k); cout<<endl;
 return 1;
 }
 q.delante=q.delante->sgte;
 k++;
 }
 return 0;
}

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"<...

Programación en c++ : Matriz - Calcular mayor de la matriz

1.- Hacer un programa que permita ingresar n datos de una matriz y calcular el mayor de la matriz. #include<iostream.h> #include<conio.h> #define lim 50 void main() {int i,j,a[lim][lim],fila,col,  may=a[0][0];  clrscr(); do {cout<<"Ingresar limite de la fila:";  cin>>fila; }while(fila<=0); do {cout<<"Ingesar limite de la columna:";  cin>>col; }while(col<=0); gotoxy(10,7); cout<<"Ingresar Elementos de la matriz\n\n"; for(i=0;i<fila;i++) for(j=0;j<col;j++) {cout<<"a["<<i<<"]"<<"["<<j<<"]";  cin>>a[i][j]; } for(i=0;i<fila;i++) for(j=0;j<col;j++) if(a[i][j]>may) may=a[i][j]; clrscr(); gotoxy(10,7); cout<<"Elementos de la matriz\n\n"; for(i=0;i<fila;i++) for(j=0;j<col;j++) {cout<<a[i][j];  cout<<"\n"; } clrscr(); gotoxy(10,20); cout...