stack 相关问题

堆栈是后进先出(LIFO)抽象数据类型和数据结构。堆栈的一个常见用途是存储子例程参数和返回地址。

在其他 2 个临时堆栈的帮助下对堆栈进行排序

需要有关堆栈排序的帮助。需要借助其他2个临时堆栈对一个整数堆栈进行排序,但条件是在任何时间点,我们都不能将较大的整数放在小整数之上。

回答 1 投票 0

链表的最大孪生和

获取链表孪生值的最大和 孪生值意味着第一个应该与最后一个相加,第二个应该与倒数第二个相加 等式1,2,3,4 然后 1+4 和 2+3

回答 1 投票 0

返回 int 但未显式返回任何内容的函数的返回值是多少。例如

int fun() { 打印(“ 废话”); } 无效主() { 打印(“ fun %d 的返回值", fun()); } 请您解释一下堆栈如何为返回值分配内存以及堆栈如何分配

回答 3 投票 0

我已经在 Hackerrank 上解决了 Balanced Brackets 并且遇到了这个错误...有人可以帮助我理解这个吗?

https://www.hackerrank.com/challenges/balanced-brackets/problem 这是问题链接 这是我的代码: #包括 使用命名空间 std; // 完成 isBalanced 的乐趣...

回答 3 投票 0

使用链表堆栈弹出 - Python

我正在尝试从堆栈中弹出一个项目(使用链接列表而不是数组)。我首先创建了一个 LinkedList 类,其中包含 3 个节点,其值为 [1,2,3]。所以我想弹出最后一个节点(n...

回答 2 投票 0

String.Join 在堆栈上,加入到堆栈末尾?

我有一个堆栈[element1,element2]。我想要的结果是:element1/element2 我的代码: String.Join("/", stack); 我的结果:element2/element1 而不是 element1/element2。 有什么想法吗?

回答 1 投票 0

C# String.Join 在堆栈上,加入到堆栈末尾?

我有一个堆栈[element1,element2]。我想要的结果是:element1/element2 我的代码: String.Join("/", stack); 我的结果:element2/element1 而不是 element1/element2。 有什么想法吗?

回答 1 投票 0

需要帮助寻找 ESP 和 EBP 的补偿

我想了解如何以 32 位计算从 ebp 到 esp 的偏移量。 我的理解是,当你压入堆栈时,esp会递减并指向较低的地址,4个字节......

回答 1 投票 0

使用堆栈检查表达式是否包含重复括号中的表达式

我要为以下内容编写一个函数: 给定一个平衡表达式,查找它是否包含重复的括号。如果包围相同的子表达式,则一组括号是重复的...

回答 1 投票 0

在java中使用堆栈查找字符串中的重复括号

导入java.util.Stack; 公共类重复括号{ 公共静态布尔 isduplicate(String str){ Stack s = new Stack<>(); for(int i =0 ; i import java.util.Stack; public class DuplicateParentheses { public static boolean isduplicate(String str){ Stack<Character> s = new Stack<>(); for(int i =0 ; i<str.length() ; i++){ char curr = str.charAt(i); if(curr == ')'){ int count = 0; while(s.peek() != '('){ s.pop(); count++; } s.pop(); if(count==0){ return true; } }else{ s.push(curr); } } return false; } public static void main(String[] args) { String str = "((a+b)(+)(c+d))"; System.out.println(isduplicate(str)); } } 输入--->“((a+b)(+)(c+d))” 输出应该为 false,但它返回 true。我知道从数学上来说,只将操作数(+)放在括号中是错误的,但根据我的代码的逻辑,它应该返回 false 您的代码在执行 return true 之前不会检查是否有两个连续的 右括号。其次,检查从堆栈中弹出的非左括号的计数是否为零并不能充分表明有两个连续的左括号与最后两个右括号相关。 我的猜测是您通过阅读 GeeksforGeeks 文章查找表达式是否有重复的括号得到了这个算法。但他们提供了一个错误的算法,正如您在输入示例中所演示的那样(您的 Java 代码看起来与他们的非常相似)。 另一种算法 这是另一种方法: 使用堆栈压入您找到左括号的位置的索引。不要推任何其他东西。 遇到右括号时,从堆栈顶部读取该索引,然后就得到了配对括号的两个索引。现在,只需直接检查那些“加宽”索引处的字符串,即可轻松查看该对是否立即被另一对括号括起来。 建议代码: public static boolean isduplicate(String str){ Stack<Integer> s = new Stack<>(); // A stack of indices int n = str.length(); for (int i = 0; i < n; i++) { char curr = str.charAt(i); if (curr == ')') { int j = s.peek(); // Get index of matching '(' s.pop(); // If the pair is wrapped in another pair of parentheses: if (j > 0 && str.charAt(j-1) == '(' && str.charAt(i+1) == ')') { return true; // ...then we have a duplicated pair } } else { s.push(i); // Push the index } } return false; }

回答 1 投票 0

如何在 Flutter Stack 中布局 2 个小部件,一个位于另一个之上?

我有一个 CustomPaint,可以绘制具有一定宽度和高度的图像。我想创建一个半透明的覆盖小部件,它将在 CustomePaint 小部件顶部放置贴纸。我怎样才能...

回答 1 投票 0

为什么指针指向它所指的地方? [重复]

我不明白,为什么指针front指向对象berta(我知道anton和berta是在堆栈上创建的) 1 你好*前面; 2 3 无效 createHello() { 4 你好安东(“安东”); ...

回答 1 投票 0

在 R 中,如何创建 LIFO 堆栈的数组或列表?

我需要一个 LIFO 堆栈的列表或数组(dim=1)。每个堆栈都通过数组索引来访问。 但是设置数组中堆栈数量的语法是什么呢? 访问特定的语法是什么...

回答 1 投票 0

如何为 scrape 编写相同的 3 div 类部分

我遇到了文本抓取问题。我正在抓取的网站有 3 个相同的 html 行,但有 3 个不同的信息。像这样 '...' '&...

回答 1 投票 0

借助Java中的迭代器编写程序来创建堆栈

我用Java编写了一个借助Iterator来创建堆栈的程序。但我不明白为什么我会收到 NullPointerException。 这是我的堆栈类: 导入 java.util.Iterator; 公开

回答 3 投票 0

使用 Java 获取空指针异常

我用Java编写了一个借助Iterator来创建堆栈的程序。但我不明白为什么我会收到 NullPointerException。 这是我的堆栈类: 导入 java.util.Iterator; 公开

回答 3 投票 0

如何防止在堆上创建对象?

有谁知道如何在独立于平台的 C++ 代码中防止在堆上创建对象?也就是说,对于“Foo”类,我想阻止用户这样做: Foo *ptr = 新 F...

回答 9 投票 0

AMD64 上的推送和弹出[重复]

AMD64 系统上的 Pushl %ecx 和 popl %ecx 的等价物是什么,我的结果是错误:“push”的指令后缀无效我已经看过了,有人建议将 ecx 更改为 rcx,但是...

回答 1 投票 0

如何有效地删除堆栈数据结构中低于阈值的值?

我正在尝试实现一个支持以下操作的堆栈: Push:将一个整数值压入栈顶。 pop:从堆栈中移除顶部元素。 删除_下值:重新...

回答 1 投票 0

C 中奇怪的数组长度行为(内存损坏?)

我完全意识到,当传递给函数时,数组只会衰减为指针,因此您不能使用 sizeof(x)/sizeof((x)[0]) 来计算它们的大小。然而,我发现可以使用 (&x)[...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.