todo
struct nodo{ // estructura del nodo
int dato; // parte dato
structnodo *ptr,; // parte puntero
}* ptrNodo,*ptrAux,*ptrIndice; //punteros de tipo struct nodo
/*Desarrollo de una funcion que mande al final de la cola un elemento
al azar*/
#include#include
using namespace std;
/*************************************…
// CLASE Cola PARA NUMEROS ENTEROS
class ClsCola{
private:
struct nodo{ // estructura del nodo
int dato; // parte datostruct nodo *ptr,; // parte puntero
}* ptrNodo,*ptrAux,*ptrIndice;
public:
// Constructor de la clase Lista
inline ClsCola(){
ptrNodo = NULL;
}// fin constructor
// Subrutina Push, insertael elemento del parametro en la Lista
inline void sbPush(int peValor){
if(ptrNodo==NULL){ // Lista vacia
ptrNodo = new nodo;
ptrNodo->dato = peValor;
ptrNodo->ptr = NULL;
}
else{ // Lista conDatos
// CREACION DEL NUEVO NODO
struct nodo *ptrNuevoNodo = new nodo;
ptrNuevoNodo->dato = peValor;
ptrNuevoNodo->ptr = NULL;
struct nodo *ptrIndice = ptrNodo;
while(ptrIndice->ptr!=NULL){// recorrido hasta el fondo
ptrIndice = ptrIndice->ptr;
}
ptrIndice->ptr = ptrNuevoNodo; // se agrega el nuevo valor a la lista
}
}//fin funcion push
inline int sbPop(){
int pop=-1; //estado del pop = -1 no encontro un elemento
char nombre[30];
struct nodo *recorre,*anterior; // punteros auxiliares
int borrar = (rand()%100);
recorre = ptrNodo;
anterior = ptrNodo;
do{if(recorre->dato==borrar){
pop=borrar;
// si coincide la informacion del nodo con el dato aleatorio
if(ptrNodo!=recorre){ //Si no es el primer nodo de la lista
anterior->ptr = recorre->ptr;
deleterecorre;
recorre = anterior->ptr;
}
else{ // si es el primer nodo de la lista
recorre = anterior->ptr;
delete ptrNodo;
ptrNodo=recorre;
anterior=ptrNodo;
}
}
else{ // si no hay coincidencia...
Regístrate para leer el documento completo.