本文整理汇总了C++中Pila类的典型用法代码示例。如果您正苦于以下问题:C++ Pila类的具体用法?C++ Pila怎么用?C++ Pila使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了Pila类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: llaves
bool llaves(const char cadena[], int n, const char caracterAbertura, const char caracterCierre) {
Pila<int> colaAbiertos;
bool completos = true;
int i = 0;
int j = n-1;
while(i < n) {
if(cadena[i] == caracterAbertura) {
colaAbiertos.apila(cadena[i]);
} else if (cadena[i] == caracterCierre) {
try {
colaAbiertos.desapila();
} catch(EPilaVacia e) {
cout << e.msg() << endl;
}
}
i++;
}
if ( ! colaAbiertos.esVacia()) {
completos = false;
}
return completos;
}
示例2: main
int main(int argc, char **argv) {
const int TAM_BUFFER = 100;
char buffer[TAM_BUFFER];
Pila pila;
bool primero = false;
char valor;
int i = 0;
while (!cin.eof()) {
cin >> valor;
pila.push(valor);
i = 0;
primero = false;
while (buffer[i] != '\0') {
if ((buffer[i] >= '0') && (buffer[i] <= '9')) {
cout << buffer[i];
primero = true;
} else if (primero == true) {
cout << '\n';
primero = false;
}
i++;
}
}
return (0);
}
示例3: TEST
TEST( PilaCharTest, apilarUnUnicoElemento ) {
Pila<char> pila;
pila.apilar('D');
ASSERT_FALSE( pila.estaVacia() );
}
示例4: invertirPila
Pila * invertirPila(Pila *ori)
{
Pila *out = new Pila();
while (!ori->isEmpty())
{
out->push(ori->pop());
}
return out;
}
示例5: main
int main(int argc, char** argv) {
Giornale G1(12.50, "Titolo1", false);
Giornale G2(1.50, "Titolo2", true);
Giornale G3(2.00, "Titolo3", false);
Rivista R4(22.70, "Titolo4", false, "Editore4", "Periodo4");
Rivista R5(11.50, "Titolo5", true, "Editore5", "Periodo5");
Rivista R6(6.00, "Titolo6", false, "Editore6", "Periodo6");
Quotidiano Q7(6.35, "Titolo7", false, "Direttore7", true);
Quotidiano Q8(9.99, "Titolo8", true, "Direttore8", false);
Quotidiano Q9(5, "Titolo9", false, "Direttore9", true);
cout<<"Polimorfismo:\n";
Giornale * vett[9];
vett[0] = &G1;
vett[1] = &G2;
vett[2] = &G3;
vett[3] = &R4;
vett[4] = &R5;
vett[5] = &R6;
vett[6] = &Q7;
vett[7] = &Q8;
vett[8] = &Q9;
for(int i=0; i<9; i++) {
cout << *vett[i] << "\n\n";
}
cout<<"\n\nPila:\n";
Pila P;
for(int i=0; i<9; i++) {
P.push(vett[i]);
}
cout<<P;
ofstream file;
file.open("./test.txt", ios::out);
if(!file) {
cout<<"Errore apertura file.";
} else {
file << P;
}
file.close();
Rivista R10(1.00, "Titolo10", false, "Editore10", "Periodo10");
Quotidiano Q11(1.35, "Titolo11", false, "Direttore11", true);
P.push(&R10);
cout<<"\n\nEccezione:\n";
try {
P.push(&Q11);
} catch(SpaceOverflow e) {
cout<<e.errorLog();
}
return 0;
}
示例6: invertirCola
Cola * invertirCola(Cola *ori)
{
Pila *inc = new Pila();
while (!ori->isEmpty())
{
inc->push(ori->dequeue());
}
Cola *out = new Cola();
while (!inc->isEmpty())
{
out->enqueue(inc->pop());
}
return out;
}
示例7: main
int main() {
Pila<int> pila;
pila.apilar(3);
pila.apilar(5);
pila.apilar(1);
pila.apilar(6);
while (! pila.estaVacia()) {
cout << pila.desapilar() << endl;
}
return 0;
}
示例8: main
int main(){
Pila<int> p;
cout << "Entra pila naturals (acabada per -1): " << endl;
llegir_pila_int(p,-1);
cout << "Entra número a buscar: " << endl;
int x = readint();
bool b;
b = p.cerca_pila(x);
if (b) cout << "esta" << endl;
else cout << "no esta" << endl;
cout << "pila p, despues de buscar (notad que no se destruye en ningun caso, aunque no se ha usado copia)" << endl;
escriure_pila_int(p);
}
示例9: viaDeEntrada
int viaDeEntrada(Pila<int> &entrada, Lista<int> &secuenciaSalida) {
int numeroVagones = 0;
//cout << "Introduzce el número de bagones: ";
cin >> numeroVagones;
if ( numeroVagones != 0) {
//cout << endl << "Escriba la secuencia resultante de los bagones: " << endl;
for (int n = 0; n < numeroVagones; n++) {
//if( n > 0 ) cout << "Queda/n " << numeroVagones-n << " bagón/es." << endl;
int a;
cin >> a;
secuenciaSalida.ponDr(a);
}
for (int j = numeroVagones; j > 0 ; j--) {
entrada.apila(j);
}
}
return numeroVagones;
}
示例10: main
int main() {
Pila<float> pila;
Cola<float> cola;
cout << " -> Pila" << endl;
for (int i = 0; i < 10; i++)
pila.insertar(i + 0.01);
while (!pila.estaVacia())
cout << "\t" << pila.sacar() << endl;
cout << endl << " -> Cola " << endl;
for (int i = 0; i < 10; i++)
cola.insertar(i + 0.03);
while (!cola.estaVacia())
cout << "\t" << cola.sacar() << endl;
return 0;
}
示例11: main
int main() {
Pila<char> p;
char c = 'a';
while (c != '*'){ // Mientras no introduzca asterisco para terminar
cout << "> "; // Mostramos prompt
cin.get(c); // Leemos el primer caracter
if (c != '*'){ // Si no es el asterisco
while (c != '\n'){ // Mientras no haya fin de linea
p.apila (c); // Apilamos el caracter
cin.get(c); // Leemos el siguiente
}
while (!p.esVacia()){ // Mientras no se quede vacía la pila
cout << p.cima(); // Escribimos la cima de la pila
p.desapila(); // Desapilamos
}
}
cout << endl; // Añadimos un salto de linea final
}
return 0;
}
示例12: main
int main() {
int wagons = -1, expected[10000];
int i;
while (wagons != 0) {
cin >> wagons;
for (i = 0; i < wagons; i++) {
cin >> expected[i];
}
int currentWagon = 1;
int expectedIndex = 0;
Pila<int> station;
while (currentWagon <= wagons) {
station.apila(currentWagon);
while (!station.esVacia()
&& station.cima() == expected[expectedIndex] &&
expectedIndex < wagons) {
station.desapila();
expectedIndex++;
}
currentWagon++;
}
if (station.esVacia())
cout << "POSIBLE" << endl;
else
cout << "IMPOSIBLE" << endl;
}
return 0;
}
示例13: main
int main(){
Pila pila;
pila.apilar( 5 );
pila.apilar( 6 );
pila.apilar( 7 );
pila.apilar( 8 );
pila.apilar( 9 );
pila.apilar( 10 );
while( pila.esVacia() == 0 ){
printf(" %d\n", pila.desapilar() );
}
return 0;
}
示例14: main
int main()
{
Pila *x = new Pila();
x->push(12);
x->push(13);
x->push(14);
cout<<"Pila original "<<endl;
x->print();
cout<<endl;
Pila *y = new Pila();
y = invertirPila(x);
cout<<"Pila invertida "<<endl;
y->print();
cout<<"\n-------------------------"<<endl<<endl;
Cola *q = new Cola();
q->enqueue(9);
q->enqueue(8);
q->enqueue(7);
q->enqueue(6);
q->enqueue(5);
q->enqueue(4);
cout<<"Cola original "<<endl;
q->print();
cout<<endl;
Cola *q2 = new Cola();
q2 = invertirCola(q);
cout<<"Cola invertida "<<endl;
q2->print();
cout<<endl;
int loop;
cin >> loop;
return 0;
}
示例15: main
int main()
{
Pila<int> pila;
Pila<int> pila2;
pila.Apilar(1);
pila.Apilar(2);
pila.Apilar(3);
pila.Apilar(4);
pila.Apilar(5);
pila.Apilar(6);
pila2.Apilar(7);
pila2.Apilar(8);
//Invertirmos la pila
//pila.ConcatenarPila(pila2);
//pila.ImprimirPila();
//pila.ImprimirPila();
pila.InvertirPila();
pila.ImprimirPila();
}