問題タブ [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 に答える
9725 参照

c++ - C++ LIFO キュー、FIFO から LIFO への簡単な例

これを LIFO-> 後入れ先出しキューにするにはどうすればよいですか? そうする簡単な方法はありますか?これは FIFO-> FIFO in first out キューです。

0 投票する
1 に答える
74 参照

c++ - 再帰はスタックデータ構造をどのように使用しますか?

私は最近、再帰が関数呼び出しの戻りアドレスを格納するためにシステム スタックを使用することを読みました。そこで、この LIFO の概念を再帰的に理解するために、ランダムなコードを作成しました。

出力を期待しています

570

実際の出力は

750

関数がこの順序で呼び出されると想定していました-

fun(6)->fun(5) { it will print 5 then return 0} ->fun(7) { it print 7 then return 0} -> max(0,0) { return 0}

私が間違っているところを修正してください。

0 投票する
2 に答える
581 参照

android - OkHttpClient.Dispatcher に LIFO (後入れ先出し) 順で okhttp3.Request を消費させるにはどうすればよいですか?

ゴール:

最後にエンキューokhttp3.Callされたものが最初に実行される


試した解決策:LIFO Executor(機能しない)

Executor私はLIFO (LIFO順序付けのExecutor Service )の解決策を見つけ、この方法でこの種のものを適用ExecutorしましたOkHttpClient

しかし、これはうまくいきませんでした

分析

でソース コードをトレースしたokhttp3.Dispatcherところ、次のことがわかりました。

  1. まず、キューCallに入れられ(private final Deque<AsyncCall> readyAsyncCalls = new ArrayDeque<>())たすべてのものがDispatcher.java"
  2. 次に、これらCallの s はFIFOreadyAsyncCallsのブロッキング両端キューに移動されますExecutor
  3. 最後に、Calls inはLIFOExecutorに実行されます

私の場合、大量Callの s が同時に生成され、それらを消費するスレッドは比較的少なくなります。
--> ほとんどの s は、一時的 にではなくCallキューに入れられます--> LIFOは効果を再生しませんDispatcherExecutor
Executor

  • Calls は FIFO 順で からDispatcherに移動されExecutorますが、この手順は非常に「非効率的」です。
  • Call■ からExecutor実行状態までは LIFO 順です。Callしかし にはsが少なくExecutor、LIFO 効果は明ら​​かではありません。

これを達成する他の方法を知っている人はいますか?

0 投票する
1 に答える
78 参照

sql - Tracking LIFO Orders in SQL

I am trying to map inventory using LIFO to determine the dates the orders initially arrived in the inventory to the day that they leave. However, the inventory can go from positive to negative.

For example:

Day 1: purchase 1,000 units; (inventory 1,000 units)

Day 2: purchase 1,000 units; (inventory 2,000 units)

Day 3: sell 500 units; (inventory 1,500 units)

Day 4: purchase 2,000 units; (inventory 3,500 units)

Day 5: sell 3,000 units; (inventory 500 units)

Day 6: sell 10,000 units; (inventory -9,500 units)

I will need to know that Day 5 units come from a minimum date of day 1 and maximum date of day 4. Is there any way to do this in SQL?