Encontrar el elemento máximo de la pila

C++C++Beginner
Practicar Ahora

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

En este tutorial, aprenderá cómo encontrar el elemento máximo de una pila en el lenguaje de programación C++. Le proporcionaremos una guía paso a paso sobre cómo usar una pila para encontrar el elemento máximo, y también explicaremos en detalle cada línea de código.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL cpp(("C++")) -.-> cpp/SyntaxandStyleGroup(["Syntax and Style"]) cpp(("C++")) -.-> cpp/BasicsGroup(["Basics"]) cpp(("C++")) -.-> cpp/ControlFlowGroup(["Control Flow"]) cpp(("C++")) -.-> cpp/FunctionsGroup(["Functions"]) cpp(("C++")) -.-> cpp/IOandFileHandlingGroup(["I/O and File Handling"]) cpp(("C++")) -.-> cpp/StandardLibraryGroup(["Standard Library"]) cpp/BasicsGroup -.-> cpp/strings("Strings") cpp/ControlFlowGroup -.-> cpp/while_loop("While Loop") cpp/FunctionsGroup -.-> cpp/function_parameters("Function Parameters") cpp/IOandFileHandlingGroup -.-> cpp/output("Output") cpp/StandardLibraryGroup -.-> cpp/standard_containers("Standard Containers") cpp/SyntaxandStyleGroup -.-> cpp/code_formatting("Code Formatting") subgraph Lab Skills cpp/strings -.-> lab-96137{{"Encontrar el elemento máximo de la pila"}} cpp/while_loop -.-> lab-96137{{"Encontrar el elemento máximo de la pila"}} cpp/function_parameters -.-> lab-96137{{"Encontrar el elemento máximo de la pila"}} cpp/output -.-> lab-96137{{"Encontrar el elemento máximo de la pila"}} cpp/standard_containers -.-> lab-96137{{"Encontrar el elemento máximo de la pila"}} cpp/code_formatting -.-> lab-96137{{"Encontrar el elemento máximo de la pila"}} end

Crea un nuevo archivo de C++

Crea un nuevo archivo llamado main.cpp en el directorio ~/project. En el archivo main.cpp, incluye las bibliotecas C++ necesarias:

#include <iostream>
#include <bits/stdc++.h>
using namespace std;

Define las funciones para la Pila

Define dos funciones: findMax() para encontrar el elemento máximo de la pila y show() para imprimir los elementos de la pila.

void findMax(stack<int> s) {
    int m = s.top();
    int a;

    while (!s.empty()) {
        a = s.top();
        if (m < a)
            m = a;
        s.pop();
    }
    cout << "\n\nEl elemento máximo de la pila es: " << m << endl;
}

void show(stack<int> s) {
    while (!s.empty()) {
        cout << "  " << s.top();
        s.pop();
    }
    cout << endl;
}

Define la función main()

En la función main(), crea una nueva pila de tipo int y llénala con elementos utilizando el método push().

Llama a la función show() para imprimir los elementos de la pila en orden LIFO.

Finalmente, llama a la función findMax() para encontrar el elemento máximo en la pila.

int main() {
    cout << "\n\nBienvenido al Programa de Pila en C++!\n\n\n";

    stack<int> s;
    s.push(4);
    s.push(2);
    s.push(20);
    s.push(12);
    s.push(52);
    s.push(14);

    cout << "Los elementos de la Pila en orden LIFO son: ";
    show(s);

    findMax(s);

    return 0;
}

Compila y ejecuta el programa

Compila el programa usando el siguiente comando en la terminal:

g++ main.cpp -o main &&./main

Ver la salida

La salida del programa debería ser la siguiente:

Welcome to the Stack Program in C++!

The elements of the Stack in LIFO order are:   14  52  12  20  2  4
The maximum element of the stack is: 52

Resumen

En este tutorial, aprendimos cómo encontrar el elemento máximo en una pila en el lenguaje de programación C++. Esperamos que este tutorial haya sido útil para usted!