0% encontró este documento útil (0 votos)
20 vistas2 páginas

Colas

El documento presenta un programa en C++ que implementa una cola utilizando una estructura de nodos. Incluye funciones para insertar y suprimir elementos de la cola, así como un menú interactivo para el usuario. El programa permite al usuario ingresar números y mostrarlos en orden, gestionando la memoria adecuadamente.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como TXT, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
20 vistas2 páginas

Colas

El documento presenta un programa en C++ que implementa una cola utilizando una estructura de nodos. Incluye funciones para insertar y suprimir elementos de la cola, así como un menú interactivo para el usuario. El programa permite al usuario ingresar números y mostrarlos en orden, gestionando la memoria adecuadamente.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como TXT, PDF, TXT o lee en línea desde Scribd

//menu .insertar.eliminar.

salir

#include <iostream>
#include <conio.h>
#include <stdlib.h>

struct nodo{
int dato;//el dato dentro del nodo
nodo *siguiente;//puntero que apunta al siguiente nodo
};
void menu();
void insertar(nodo *&frente, nodo *&fin, int n );
bool vacio(nodo *frente);
void suprimir(nodo *&frente, nodo *&fin, int &n);

void main (){


menu();
getch();
}

void menu(){
int op, dato;
char r;

nodo *frente = NULL;//declara puntero frente de tipo nodo y le asigna vacio


nodo *fin = NULL;//puntero fin vacio
do{
cout<<"\n MENU\n\n";
cout<<" 1. Insertar elementos"<<endl;
cout<<" 2. Mostrar los elementos"<<endl;

cout<<"\ningrese opcion elegida: ";cin>>op;


switch(op){
case 1: do{
cout<<"digite un numero: \n ";cin>>dato;
insertar (frente, fin, dato);
cout<<"\ndesea seguir ingresando elementos a la cola(s/n):
\n";cin>>r;
}while(r=='s');break;
case 2: cout<<"mostrando los elementos\n";
while(frente!= NULL){
suprimir(frente, fin , dato);

if(frente!=NULL)
cout<<dato<<" , ";
else
cout<<dato<<" . ";}
system("pause");
cout<<"FIN DEL PROCESO";break;}

}while(op!= 2);

void insertar (nodo *&frente, nodo *&fin, int n) {


nodo *nuevo_nodo = new nodo();//crea nuevo nodo y reserva su espacio en memoria
//llenando nodo
nuevo_nodo -> dato = n;
nuevo_nodo -> siguiente = NULL;

if (vacio(frente))//el frente y el fin apuntan al primer nodo


{frente = nuevo_nodo;}//la primera vez que se inserte un dato se llena el
frente
else{//hay mas de 1 nodo
fin -> siguiente = nuevo_nodo;//fin apunta al ultimo nodo
}
fin = nuevo_nodo;//fin se le asigna el nuevo nodo
cout<<"elemento insertado correctamente";}

//funcion que determina si la cola esta vacia


bool vacio(nodo *frente){
if(frente == NULL)
return true;
else
return false;}

//funcion eliminar elementos de la cola


void suprimir(nodo *&frente, nodo *&fin, int &n){
n = frente -> dato;//obtener el valor del frente
nodo *aux = frente;//asignamos un puntero que apunta al espacio de memoria donde
esta el frente

if(frente == fin){//solo hay un elemento en la cola


frente = NULL;
fin = NULL;}
else
{frente = frente -> siguiente; }//el frente se pasa al siguiente nodo
delete aux;
}

También podría gustarte