C++ 中的栈反转2025年5月10日 | 阅读 4 分钟 堆栈是 C++ 中的一种数据结构。它遵循后进先出原则,也称为 LIFO 原则。在这种数据结构中,最后添加的元素首先被移除。在本文中,我们将通过几个示例讨论如何在 C++ 中反转堆栈。 堆栈处理方法堆栈处理中经常使用的一些方法是
示例
因此,首先,从myStack中弹出顶部元素,然后将该元素压入auxStack。同样,弹出 myStack 的所有元素并将它们压入 auxStack。最后,auxStack 将是 myStack 的反转堆栈创建 myStack 30 ← 顶部 20 10 堆栈反转myStack 为空 auxStack 10 ← 顶部 20 30 示例 1让我们举一个例子来说明如何在 C++ 中使用一些临时堆栈来反转堆栈。 输出 ![]() 说明 在上述堆栈中,最初声明了一个名为myStack的堆栈 i。之后,三个元素被静态添加到堆栈中。目前,堆栈的顶部是 30。接下来,此 myStack 被传递给reverseStack函数。此函数主要用于反转堆栈。在此函数中,使用了另一个名为 aux 的堆栈。之后,使用 while 循环同时弹出 myStack 的所有元素并将其压入 aux 堆栈。最后,在 while 循环终止后,将 aux 分配给先前的原始堆栈。 示例 2让我们举一个例子来说明如何在 C++ 中使用递归来反转堆栈。 输出 ![]() 说明 上面的 C++ 程序演示了使用递归反转堆栈。insertBottom和reverseStack是此程序中使用的两个函数。insertBottom函数用于通过递归移除和恢复元素来将元素插入堆栈底部。reverseStack 函数在 main 函数中被调用,然后 insertBottom 函数在 reverseStack 函数中被调用。此函数递归调用。最后,反转后的堆栈返回给 main 函数。 示例 3在 C++ 中使用 vector 而不是辅助堆栈来反转堆栈。 输出 ![]() 说明 上面的程序演示了如何反转堆栈。这里,声明了一个名为myStack的堆栈。一些元素被添加到 myStack 中,然后调用带有 myStack 的 reverseStack 函数。在reverseStack函数中,使用了临时 vector。之后,while 循环从堆栈中弹出每个元素并将它们添加到 vector 中。如果堆栈为空,则 while 循环终止。接下来,使用 for 循环从末尾迭代 vector。之后,将元素添加到堆栈中,这使得堆栈反转。最后,使用 while 循环作为 main 函数来打印反转堆栈中的元素。 下一主题C++ 中的 Carol 数 |
在本文中,我们将讨论其几种方法和示例。C++ 中的 std::bad_alloc() 是什么? std::bad_alloc() 函数是 C++ 中的一个标准异常类,定义在 C++ 标准库的头文件中。它专门用于处理…的情况。
阅读 4 分钟
在本文中,我们将讨论 C++ 中的皇冠图案打印程序。在讨论 C++ 皇冠图案打印程序之前,我们必须了解 C++ 皇冠图案打印示例的步骤。什么是皇冠图案?一个常见的图案...
阅读 6 分钟
C++ 中的类型特征库包含标头中定义的 std::is_constructible 模板。其主要目标是确定在给定的一组情况下,特定类型是否可以被构建。此模板有助于开发人员构建更可靠、更适应的代码,并且特别有助于...
阅读 4 分钟
简介 当涉及到 C++ 编程时,标准模板库 (STL) 为开发人员提供了许多功能,这是一个强大的工具,可以提高开发过程的效率和效果。STL 将字符串作为其关键组件之一,字符串是...
7 分钟阅读
在本文中,我们将讨论其算法、伪代码和示例。什么是?如果一个整数 N 的前缀满足某些整除要求,那么这个数就被称为多重整除数。一个有 k 位数字的整数 N 的第一位数字必须是...
阅读 4 分钟
在本文中,我们将通过几个示例学习 C++ 中的总汉明距离。不同长度(通常是二进制字符串)的两个字符串之间的不相似性使用称为总汉明距离的矩阵来度量。它测量两个字符串对应位之间的差异...
阅读 4 分钟
在面向对象编程中,特别是在 C++ 中,类充当创建对象的蓝图,这些对象封装数据以及对这些数据进行的操作。一个类通常由成员变量(属性)和成员函数(方法)组成,这些成员函数定义了从该类实例化的对象的行为。然而,在...
阅读 15 分钟
引言 掌握 C++ 的数据类型在组织数据和创建系统级程序方面非常重要。两个经常观察到的类型包括“DWORD”和“unsigned int”。“DWORD”是一个 Windows API 数据类型,意思是“双字”,而...
阅读 8 分钟
在本文中,我们将讨论 C++ 中的 std::to_underlying() 函数,包括其语法、参数、优点、缺点和示例。是什么?std::to_underlying() 函数是一个实用函数,用于获取枚举类型的底层整数值,该函数已在 C++17 (header ) 中添加。它...
5 分钟阅读
STL 是标准模板库的缩写,我们在其中拥有许多可用的功能代码。在 C++ 中,max_element 或 std::max_element() 是标准模板库中可用的算法,它主要用于检索其中可用的最大元素……
7 分钟阅读
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India