Red de conocimiento informático - Conocimiento informático - Defina la estructura de datos de la cola encadenada y su inicialización, operaciones de puesta en cola, retirada de la cola y otras funciones, ingrese una cadena de cadenas y clasifique los caracteres alfabéticos al retirar la cola.

Defina la estructura de datos de la cola encadenada y su inicialización, operaciones de puesta en cola, retirada de la cola y otras funciones, ingrese una cadena de cadenas y clasifique los caracteres alfabéticos al retirar la cola.

#includelt;iostreamgt;

#includelt;stringgt;

usando?namespace?std;

struct?ChainNode

{

char?valor;

ChainNode*?next;

ChainNode(char?v){

valor ?=?v;

siguiente?=?NULL;

}

};

clase?ChainQueue

{

público:

ChainQueue(){

cabeza?=?NULL;

tamaño?=?0;

}

void?push(char?value){

if?(head?==?NULL){

tamaño;

head?=?new?ChainNode(valor);

return;

}

ChainNode*?ptr?=?head ;

tamaño ;

mientras?(ptr?=?NULL?amp;amp;?ptr-gt;next?=?NULL)ptr?=?ptr-gt ;siguiente ;

ptr-gt;next?=?new?ChainNode(valor);

}

char?front()const{

return?head-gt;value;

}

void?pop(){

if(size?==?0)return ;

ChainNode*?temp?=?head-gt;siguiente;

eliminar?head;

head?=?temp;

tamaño--;

}

int?getsize(){

return?size;

}

~ChainQueue(){

ChainNode*?cur?=?head;

mientras?(cur?!=?NULL)

{

ChainNode*?temp?=?head-gt;next;

eliminar?cur;

cur?=?temp;

}

}

privado:

ChainNode*?head;

int?size;

}; p>

int?main(){

cadena?str;

cadena?número?=?"";

cadena?letra ?= ?"";

ChainQueue?queue;

cout?lt;lt;?"Ingrese una cadena de letras y números: "?lt;lt;? endl;

cin?gt;gt;?str;

cout?lt;lt;?" La cadena mixta de entrada es: "?lt;lt;?str?

lt;lt;?endl;

for?(int?i?=?0;?i?lt;?str.length();?i )

{

queue.push(str[i]);

}

for?(int?i?=?0;?queue.getsize()?!= ?0;?i )

{

if(queue.front()?gt;=?'0'?amp;amp;?queue.front()?lt; =?'9')

número? =?queue.front();

otro

letra? =?queue.front();

else

p>

queue.pop();

}

cout?lt;lt;?"La cadena numérica es: "?lt;lt;?número?lt; lt;?endl;

cout?lt;lt;?" La cadena de letras es: "?lt;lt;?letra?lt;lt ;?endl;

}