问题标签 [lifo]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
205 浏览

arrays - 如何在 Swift 中正确实现方向数组缩减挑战中的堆栈

我正在尝试解决 Swift 中的编码挑战。任务是构建一个函数,该函数接受一系列方向 ex: ["NORTH", "WEST", "EAST", "NORTH", "EAST", "SOUTH"]。应删除阵列中彼此相邻的任何相反方向。使用上面的示例,应该删除第二个和第三个索引(“WEST”和“EAST”)。但是,最后一个索引“SOUTH”应该保留,因为它不直接靠近数组中的“NORTH”值。

我正在尝试实现一个堆栈以比较这些值并且不能让它正常工作。这是我第一次实现堆栈,而且我还在习惯 Swift 语法。

我的代码是这样设置的:

我所返回的是一个数组["WEST", "WEST", "WEST"],但是,这应该是返回["WEST", "WEST"]。我不确定如何初始化堆栈以解决此问题。我会很感激任何可以看一看的新鲜眼睛。我也很好奇这是否是实现堆栈的最佳实践,或者是否有更好的方法来应对这一挑战。感谢任何帮助或建议。

0 投票
3 回答
241 浏览

java - 如何在不删除 Java 内容的情况下显示 LIFO 堆栈的内容?

我正在尝试创建一种遵循 LIFO 特征的“历史”特征。最后输入第一个输出。

因此,用户将介绍一些单词,这些单词将存储在堆栈中,以便在后面打印它们。该程序总结如下:

并且showHistory();函数具有这种格式:

问题是,当我执行此操作时,我得到的输出是用户可能已经介绍的单词,但采用 FIFO 格式。例如,如果用户介绍:

铅笔

衬衫

该程序显示的输出是:

铅笔

衬衫

但我想要的输出,遵循 LIFO 格式是:

衬衫

铅笔

我也不想删除堆栈在执行的任何时候存储的数据,所以我不想使用history.pop();,因为如果我没记错的话,那会删除堆栈中的数据。

我怎样才能做到这一点?

提前致谢。

0 投票
2 回答
125 浏览

java - 如何从堆栈中获得真正的 LIFO 订单?

如何添加 int 值然后遍历堆栈获取 LIFO 顺序?添加 7 和 1 返回 7 和 1。

0 投票
1 回答
362 浏览

c - xv6 在哪里实现 fifo 和 lifo

我目前正在使用 xv6 做作业,我需要使用以下代码样式实现 FIFO 和 LIFO:

我应该修改什么 xv6 文件来实现这些调度策略。我应该做什么的任何提示,我是使用 xv6 的新手,我不太了解我在做什么。此外,作业包括一个名为 sched_test 的额外文件:

我已经将它包含在 MAKEFILE 中,并执行、make clean、make 和 make qemu。

0 投票
1 回答
103 浏览

c++ - 快速问题:为什么我对 pop() 的调用不起作用?C++ 堆栈

我正在我目前的 CS 课程中学习堆栈。我正在处理函数,当我去测试时,对于 pop 函数,我得到了错误:“没有匹配函数调用 DynStack::pop()”

这是我的代码:

主要的()

动态堆栈.cpp

动态堆栈.h

我还处于测试这个程序的早期阶段。我假设我必须在 cstack.pop(); 的括号中放一些东西,但我不知道我会放什么?Pop 只会删除一个值,是吗?我认为它不需要任何输入。

如果这是我的程序,我会考虑从 void DynStack::pop(T &) 中删除 T&,但这是我的教授放在那里的。我想他把那个放在那里,所以我必须学习这个。谷歌搜索了一堆,但没有靠近。

谢谢大家。

0 投票
1 回答
4275 浏览

data-structures - FILO总是后进先出吗?

堆栈称为后进先出 (LIFO) 和先进后出 (FILO) 结构。

是否有任何数据结构是 LIFO 但不是 FILO(或其他方向)?一个反例证明“FILO 并不总是意味着 LIFO”

0 投票
1 回答
78 浏览

c++ - 我如何在 C++ 中更改堆栈的顶部?

这段代码有什么问题,我需要更改堆栈的顶部。那是我的代码,我需要更改堆栈的顶部此外,我需要更改我的函数 imprime 以从底部打印到顶部。

类似 10 15 20 的东西,在函数 pilha_imprime 中将打印 20 15 10。

我需要了解我如何在 C++ 中学习堆栈以及它是如何工作的。

0 投票
0 回答
44 浏览

windows - 如何使 LIFO 原则适用于回调?

我不是百分百确定 IOCP 中“LIFO”(关于线程)的好处是什么。我想返回“LIFO 队列”的最后一个线程可以使用比其他线程更少的“开销”。(如我错了请纠正我。)

假设我们在这个“LIFO 队列”中有 10 个线程。10号是最新的(有完成的先出去)。No.1 是最后一个,可能需要最多的“开销”?

但是在 No.1 回到队列之前,它调用了一个“完成时使用回调的非阻塞函数”。“回调”通常首先调用调用它们的线程。

这应该意味着即使有更好的线程(更新/更新)可以从“LIFO-queue”中选择,当运行回调函数时,no.1 仍然会被激活。

所以我最想知道,如何使回调与“LIFO-queue”协调工作?

最好的问候

0 投票
1 回答
118 浏览

python - 在scrapy python中更改抓取数据的顺序

我正在使用scrapy从网站上抓取数据。我正在以这种格式获取数据。例如{'日期':'03/06/2020','LTV':'90',} {'日期':'03/06/2020','LTV':'80',}

{ 'Date': '03/06/2020', 'LTV': '70', } ...我想更改此序列。我想要 LTV ->70 , 80, 90 ,按这个顺序。首先是 LTV 70 阵列,然后是 80,依此类推。
注意:我正在使用 Scrapy 框架。

0 投票
1 回答
109 浏览

c++ - 如何使用结构和指针推送和弹出一堆双打

有一项任务要求我制作特定结构的物品并堆叠无限数量的物品。我还应该能够弹出列表顶部的项目。我已经能够将它们堆叠起来,但是当我尝试弹出我的程序时会冻结。

pop 函数的规则如下:“在栈顶查找项,将其值保存到变量中,使其下一项成为新的栈顶。使用删除运算符将其内存返回给操作系统, 将堆栈大小减 1,并返回其保存的值。如果堆栈为空,则返回头文件中定义的常量变量 HUGE_VAL。在删除之前获取弹出项的值至关重要;不要'不访问已删除项目的值。"

我也遇到了 HUGE_VAL 的问题,它告诉我它是未定义的,即使它是来自其中一个导入的常量。下面是我的代码:

请告诉我我可能做错了什么