An Extensive Examination of Data Structures Using C# 2.0を読んだあと、C#のキューには、キューの要素が順番に格納される内部配列、開始インデックスと終了インデックスがあることを理解しています。私はあなたがなぜn番目の要素を読み書きできないべきか理解できません。あなたがしなければならないのは、return array[(n + start) % array.Length]
です。 nが範囲内にあれば、もちろんです。
これは時々役に立ちます。キューデータ構造がランダムアクセスをサポートしない理由
答えて
あなたはElementAt
を使用してn番目の要素を読むことができます:
var element = q.ElementAt(index);
ことがIEnumerable
拡張メソッドなので、あなたがusing System.Linq;
を追加することが必要であることは何ではありませんので、しかし、あなたはn番目の要素を記述することはできません待ち行列は作られた。これは、先入れ先出しであるキューの最も重要な機能を破るだけです。インデックスにアイテムを挿入できる場合は、最初にキューを使用する必要はありません。
私はアイテムを挿入することについて話していませんでした。しかし、実際には、アイテムを挿入するオプションは、最初の場所でキューを使用するポイントを敗北させるだろうか?キューのポイントの一部は、アイテムの順序が保持されていることです。しかし、別の部分は、一定時間内にデータ構造の反対側の項目を追加したり削除したりできるということです。 – NounVerber
@NounVerberこれはキューではありません。独自のデータ構造を作成する必要があります。または、Listのような柔軟なものを使用してください。 * n番目の要素*の意味は何ですか? – user3185569
Linqを使うのは良い考えです。 – NounVerber
- 1. どのデータ構造が効率的な削除とランダムアクセスをサポートしていますか?
- 2. 双方向ランダムアクセスのためのC++効率的なデータ構造
- 3. 何らかの理由でメンバーが構造体を認識しない
- 4. キューデータ構造を使用して迷路を解決しますか?
- 5. jetbrainのMPSがJavaクラスのパッケージ構造に従っていない理由
- 6. Python辞書が '+'演算子をサポートしない理由
- 7. SpringデータでSpELサポートが動作しない理由JPA @Query?
- 8. 高速ランダムアクセス、検索、挿入、削除のための効率的なデータ構造
- 9. 柔軟なフォームとデータベース構造のサポート
- 10. 分散処理をサポートするツリー構造
- 11. 理由がわからないため、私のルート構造に資産フォルダを作成しています
- 12. SLがBasicHttpBindingをサポートしていて、他のバインディングをサポートしていない理由
- 13. ランダムアクセスのデータ構造が必要な場合は、Vectorは私の唯一の良い選択ですか?
- 14. クラウドフォーメーションテンプレートでAPIゲートウェイカスタムドメイン作成がサポートされない理由
- 15. 構造体の自由な機能
- 16. 構造体の宣言にtypedefを使用する理由は?
- 17. SQL Serverで構文が正しくない、理由がわからない
- 18. インデックスとキーによるランダムアクセスをサポートしているデータ構造、順序が維持された状態でlogaritmic時間での挿入、削除
- 19. InnoDbがクラスタ化された主キーでauto_incrementをサポートしない理由
- 20. 同じ構造変数の複数の宣言でエラーが発生しない理由
- 21. エッフェル - 構文エラーがある理由を知らない
- 22. MySQLの構文エラー...理由を理解できない
- 23. 私の構造体配列の何らかの理由で、
- 24. Famo.us/angularがFamo.usでサポートされなくなった理由
- 25. どのXML構造が理にかなっていますか?
- 26. Google Cloud Spannerは「構造」タイプをサポートしていますか?
- 27. 次の関数構造を理解するのが難しい
- 28. GCCが間違った構造オフセットを生成する理由は?
- 29. 構文@で動作しない理由は、JSを反応
- 30. カルマがTSをコンパイルしない理由
これは 'Queue'が作成されたものではないためです。 – user3185569
n番目の要素を読むのに役立つことがあると思います。あなたがそれに書き込むことができれば、それは単純に配列またはリストになります。ただし、実装の詳細に頼っています。すべての言語のすべてのキューが配列として実装されているわけではありません。ランダムアクセスはキューの哲学の一部ではありません。言い換えれば、ランダムアクセスがあった場合、それはキューではありません。 –
要求され、拒否されました:https://github.com/dotnet/corefx/issues/4961 – usr