Найти максимальный элемент стека

C++Beginner
Практиковаться сейчас

Введение

В этом уроке вы научитесь находить максимальный элемент стека на языке программирования C++. Мы дадим вам пошаговое руководство по использованию стека для нахождения максимального элемента и также подробно объясним каждую строку кода.

Создайте новый файл на C++

Создайте новый файл с именем main.cpp в каталоге ~/project. В файле main.cpp включите необходимые библиотеки C++:

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

Определите функции для стека

Определите две функции: findMax(), чтобы найти максимальный элемент стека, и show(), чтобы вывести элементы стека.

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\nМаксимальный элемент стека равен: " << m << endl;
}

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

Определите функцию main()

В функции main() создайте новый стек типа int и заполните его элементами с использованием метода push().

Вызовите функцию show(), чтобы вывести элементы стека в порядке LIFO.

Наконец, вызовите функцию findMax(), чтобы найти максимальный элемент в стеке.

int main() {
    cout << "\n\nДобро пожаловать в программу по работе со стеком на 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 << "Элементы стека в порядке LIFO: ";
    show(s);

    findMax(s);

    return 0;
}

Компилируйте и запустите программу

Скомпилируйте программу с использованием следующей команды в терминале:

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

Посмотрите вывод

Вывод программы должен быть следующим:

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

Резюме

В этом уроке мы узнали, как найти максимальный элемент в стеке на языке программирования C++. Надеемся, что этот урок был полезен для вас!