问题标签 [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 回答
60 浏览

java - 索引混乱堆栈 LIFO

0 投票
2 回答
1068 浏览

sql - 通过 TSQL 使用 LIFO 方法计算结果

我想用 TSQL 通过 LIFO(后进先出)方法进行计算。

使用 LIFO 方法将要求您通过卖出最后一笔交易来计算盈亏。

示例它是如何工作的:

  1. 交易于 3 月 1 日完成,我们以 5 美元的价格购买 10 只股票
  2. 交易于 3 月 2 日完成,我们以每只 6 美元的价格购买 15 只股票
  3. 交易于 3 月 3 日完成,我们以每只 4 美元的价格购买 5 只股票
  4. 交易于 3 月 4 日完成,我们以每只 7 美元的价格出售 17 只股票

到第四次交易时,我们现在已经卖出了 3 月 3 日起的 5 只股票,每只 4 美元,3 月 2 日起的 12 只股票每只 6 美元。

所以现在我们留下了以下内容:3 月 1 日交易的 10 只股票,每只 5 美元 3 月 2 日交易的每只 6 美元的 3 只股票(17-5-15 = -3)。

剩余 13 只股票,平均价格为 (10*5 + 3*6) / 13 = 5.23076923

这是测试数据生成脚本:

我想计算财务状况和许多其他参数,这些参数需要我知道还剩多少合适价格的股票。到目前为止,我已经做到了这一点:

输出:

期望的输出:

最好的方法是什么?

0 投票
2 回答
198 浏览

java - 来自多个生产者键的公平出队队列

我有这种情况,我从数千个来源接收事件。每个来源都在发送有关其当前状态的信息。虽然我确实想处理所有事件,但更重要的是首先处理每个源的最新事件,以便当前视图是最新的。所以我正在考虑使用ConcurrentHashMap每个源的标识符作为键,并使用 LIFO 队列(堆栈)作为值。然后,我将遍历 的键,然后从Map每个源的堆栈中弹出一项。

我担心的是,当我遍历键并从每个键的队列中取出项目时,生产者可能会在队列上发布新事件,这可能会产生并发问题。生产者还可以向映射添加新键,并且迭代似乎是弱一致entrySet的。Map这不是一个大问题,因为新项目将在后续迭代中处理。理想情况下,我还可以在流上使用一些并行处理entrySet来加快处理速度。

我想知道是否有更清洁的方法。实际上,我本可以使用 LIFOBlockingDequeue并首先处理最新事件,但这种方法的问题在于,一个源可能发送比其他源更多的事件,因此可能比其他源处理更多的事件。

是否有任何其他数据结构可以提供这种行为?本质上,我正在寻找一种对来自每个来源的事件进行优先级排序的方法,同时为每个来源提供公平的机会以供消费者处理。

0 投票
1 回答
1177 浏览

java - get objects from a list in LIFO order? (Last-In-First-Out) (Beginner)

(Please, bear in mind that this is a beginners problem)

I have two classes; MailItem and MailServer. I have a testing class, where I make and send MailItems to my MailServer. I sent to MailItems to one specific user, and I expect to retreive these in LIFO-order(Last-In-First-Out), so the lastest to be sent have to be the first I recieve.

Here are my classes.

MailItem class:

MailServer class:

Here is how my test look like:

When I run this test, I retrieve these emails in a FIFO(First-In-First-Out) manner. Instead of retrieving the mail called mess2User1to2, I get mess1User1to2. I tried using LinkedList to retrieve them in LIFO, but It did not work for me. What did I do wrong?

0 投票
1 回答
383 浏览

python - 使用python处理行李?最后一个集装箱进,最后出,第一个行李先进先出

你如何使用python解决这个问题?

您将行李装入集装箱。一旦容器达到其极限(100 磅)。您移动到下一个容器。这就是您装载行李的方式。

当需要卸载数据时,您将首先卸载最后一个装载的集装箱(小于 100 磅。然后,您将卸下第一个装载的行李,然后是第二个,等等)然后您将移动到下一个集装箱.

如果问题不清楚。

这是加载数组的样子

假设我们有 3 个集装箱,这是装载安排

该数组中的最后一项是第一个加载的。在第二个行李之后,第一个集装箱无法容纳20磅的行李,因此进入了下一个集装箱。

20,50,25 进入第二个,15,45,30 进入最后一个。

到了卸货的时候,我们从最后一个集装箱的第一个行李开始,按照这个顺序移动。

因此卸载数组是

有没有可以将输入转换为输出的函数?

请记住,每个容器必须保持在 100 磅以下?

有什么想法或想法吗?

抱歉,如果问题乱七八糟,这是我在堆栈上的第一个问题

谢谢!

这是我迄今为止尝试过的:

0 投票
1 回答
489 浏览

java - 我正在尝试实现一个队列来反转堆栈并打印堆栈FIFO?

我正在尝试制作一个以先进先出顺序打印用户输入的程序。我目前制作了一个打印堆栈 LIFO(后进先出)的程序。但是,我将如何实现一个队列,该队列将以 FIFO(先进先出)顺序显示堆栈的输出。

我的代码如下:

0 投票
1 回答
67 浏览

java - Java : Lifo 补偿方法

是否有一个简单的解决方案来实现基于 Java 的 LIFO 解决方案?

例如我有以下

输入(50,150,200)输出(所有输入之后)(250,80)

结果应该是这样的:

初始 - 最终 200 - 200 200 - 50 150 - 80 150 - 20 50 - 50(剩余)

提前谢谢了,

我想到了LinkedList:

依此类推,但我不认为这是最佳解决方案。

提前谢谢了,

0 投票
3 回答
761 浏览

c - GLib堆栈数据类型?

GLib 是否具有可用作 LIFO(堆栈)集合的数据类型? 它确实有列表、队列、哈希表等,但我似乎找不到堆栈数据类型。

有一种垃圾堆栈类型,但它是为特定目的而设计的,并且自 2.48 版以来也已被弃用。

在 GLib 中什么可以用作堆栈?

0 投票
0 回答
928 浏览

c# - 如何使用 Microsoft Visual Studio 撤消pictureBox drawline C# windows 窗体

并尝试使用小型绘图应用程序,该应用程序仅绘制带有鼠标事件的线条。

有人可以为我提供正确的工作示例如何创建撤消功能吗?我有带有事件pictureBox1_MouseDown、pictureBox1_MouseMove、pictureBox1_MouseUp 的picturebox1。

当我移动鼠标并单击图片框时,它会按预期绘制线条。但是如何创建撤消功能,例如单击撤消按钮?

我另外创建

然后在公共部分类 Form1 下添加:Form

比添加到pictureBox1_MouseUp

和撤消按钮btnUndo

并在 _shapes.Push(newShape); 上放置断点;

_shapes 是用值归档的

当我按下按钮btnUndo

我看到 _shapes.Pop(); 删除值后进先出,但当然我的行并没有消失。所以我很困惑,因为我觉得我需要在pictureBox1 上创建线条,而不是从鼠标移动,而是从堆栈。

0 投票
1 回答
1197 浏览

java - if 语句中的 stack.pop()

我想知道从 if 语句pop()中的数据结构调用该方法Stack是否会从堆栈中弹出第一个元素?

这是一个代码示例:

这行得通吗?还是像这样声明它更好:

我假设这些都在做同样的事情,但我不完全确定。