問題タブ [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 参照

collections - ユーザーグリッド コレクション 後入れ先出し

usergrid コレクションのデフォルトの動作は、GET を実行するときに最初に追加されたエンティティが最初に取得されるようです。エンティティを逆の順序で取得できますか。つまり、最後に追加されたエンティティが最初に取得されます。クエリ ql=select * order by created desc を使用して実行できることはわかっていますが、これは常に結果をソートすることを意味します (パフォーマンスに影響します) ?

たとえば、ブログのユーザー グリッド コレクションがある場合、順番を指定せずに最新のブログを最初に取得する必要があります。

どうすればこれを達成できますか?

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

list - スキームでのLIFOリストの実装

Scheme で LIFO リストを実装するのに問題があります。1 つの要素のみをスタックにプッシュしたいが、複数の要素をプッシュできるようにしたい場合、私のコードは問題なく動作します。これが私のコードです:

これは私の最後の試みです。数えきれないほど多くのアプローチを試みました。「args」から要素を取得して、スタックに 1 つずつ追加する方法がわかりません。「プッシュ」手順はまったく機能しません。最後の行でエラーが発生するだけです (おそらく再帰が間違っています)。私が言ったように、これは私の最後の試みです。

編集:

push!、pop! を実装しようとしました。スタック オブジェクトを引数として取る独立したプロシージャとしてスタックします。ポップ!そしてプッシュ!簡単でしたが、プッシュでした!追加したい要素は、プッシュのリスト内に既にネストされています! そのため、それを make-stack プロシージャに送信すると、ネストされたリストとして表示されます。これを修正するために再帰的な手順を作成しようとしました:

これはループに入るだけで、理由がわかりません...(再帰は私にとって大きな問題です)

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

python - (LIFO) キューを使用した Python マルチプロセッシング

Python でマルチプロセッシングを使用して、関数をループ内で呼び出し続け、その後関数からの最新の戻り値にアクセスしようとしています (値を LIFO キューに格納することにより)。

メイン プログラムのコード スニペットを次に示します。

myFunc のコード スニペットを次に示します。

問題は、メイン ループが q が空であると見なすことです。ただし、(q.put(x) の直後に q.empty() チェックを入れることによって) myFunc() が q に値を配置しているかどうかを確認しましたが、キューは空であってはなりません。

メインループがキューに配置された値を確認できるようにするにはどうすればよいですか? それとも、非効率的な方法でこれを行っていますか? (ただし、myFunc は少し遅く、メイン ループはそのタスクを実行し続ける必要があるため、myFunc とメイン ループを別々に実行する必要があります)

0 投票する
3 に答える
3707 参照

java - 共有プリファレンスで設定された文字列の順序を制御できない

これは私の最初のスタックオーバーフローの質問です。私はこれについて多くのグーグルをしました。Hashsets、Treesets、LinkedHashSets、Collections、Stacks (Stack クラスは非推奨ですか?)... SQLite を使用することもできますが、当面はそれを避けようとしています。

Android Studio でアプリを作成しています。このアプリは人々を扱い、それらをリストし、さまざまな方法で連絡します。アプリのユーザーは、最近連絡したリスト、ブロックされたリスト、お気に入りの 3 種類のリストを維持および管理できます。これらのリストは、共有設定に文字列セットとして保存されるため、アプリを閉じて再度開いても存続します。個々の文字列は、オンライン データベースを使用してリストが作成されるときに主キーとして機能します。このリストの順序が重要であるため、「最近連絡した」リストに最も関心があります。

問題は、私が理解している限り、文字列セットを宣言すると次のようになることです。

私が理解しているように、右側では HashSet、LinkedHashSet、または TreeSet しか使用できません。

私は LinkedHashset を使用していたので、アプリを再度開いて共有設定からデータを取り出すと、最近追加されたもの (LIFO / スタック) から文字列が取り出されることを期待していたので、リストビューに入力すると、それらは、リストの一番上にある「最近連絡した」人などとともに表示されます...または、少なくとも、私が作業できるある種の予測可能な順序/動作があることを期待していました.

ということで....... 共有設定 I/O クラスのコードを添付しました。

私のメインアプリから、私は次のようなことをします:

この時点で、コード

クラス SharedPrefUTIL Logs の commit() メソッド:

" [derp, nerp, gerp, herp] recentArray にコミットされました "

以下を実行すると、アプリを閉じて再度開いた後にバーが発生します。

結果は一見ランダムな順序です。<<<< それが私の問題です。

どんな助けでも大歓迎です。