ホームページ >Java >&#&チュートリアル >Javaの理論的基礎 - スタック(概要の共有)
この記事では、java に関連する知識を提供します。主に、スタックの基本操作、スタックのメソッドとプロパティ、スタックの 2 つの実装など、スタックに関する関連問題を紹介します。スタック、メソッドなど、皆さんのお役に立てば幸いです。
## 推奨学習: 「java Learning Tutorial」
1. スタックの概念スタックデータ構造としては、stack とも呼ばれる (stack) は、一方の端でのみ挿入および削除操作を実行できる特殊な線形テーブルです。 演算が限定された線形テーブルです。制限として、挿入および削除操作はテーブルの一端でのみ許可されます。この端はスタックの上部と呼ばれ、もう一方の端は底部と呼ばれます。スタックには先入れ後出し機能があります。
#2. スタックの基本操作
: スタックを使用する前に、まず空のスタックを構築します スタック、プッシュ
: スタックに新しい要素を追加します ポップ
: スタックの一番上にある要素を削除します スタックを読み取ります
: 要素をクエリします現在のスタックの一番上 スタックのサイズを取得し、スタックをクリアします。 。 。
3. スタックのメソッドと属性
##Push はスタックにプッシュするためのものです。
② リンク リスト
リンク リストは小さな部屋で構成されているように見えます。各部屋はポイントへのポインタに依存しています。ポインタでリンクされたリンクリストは、物理記憶装置上の非連続かつ非順次の記憶構造であり、データ要素の論理的順序は、リンクリストのポインタアドレスによって実現されます。 2 つのノードが含まれており、1 つは要素のデータを格納するフィールド (メモリ空間) であり、もう 1 つは次のノード アドレスを指すポインタ フィールドです。ポインタが指す場所に応じて、リンク リストは、単一リンク リスト、二重リンク リスト、循環リンク リストなどのさまざまな構造を形成できます。リンク リスト配列
利点:
データが増加すると、当初定義された要素数を超えて配列の範囲外になる可能性があります。
データが減少すると、メモリの無駄が発生します。
利点:
1. 容量を初期化する必要がなく、要素を自由に追加または削除できます;
2. 要素を追加または削除する場合、必要なのは前後の 2 つの要素ノードのポインタ フィールドをアドレスを指すように変更するため、追加と削除が高速になります。
データに素早くアクセスしたい場合、要素の挿入や削除が頻繁ではなく、選択配列のデータ量が少なく、頻繁に追加や削除操作が必要な場合
6. スタックの役割
6.1. ローカル変数の保存:6.2 パラメータの受け渡し パラメータを渡す目的は、N 個の状況に対して N セットの同様のメソッドを作成することなく、1 つのメソッドをより多くの状況に適用できるようにコードを再利用することです。では、パラメータの転送にはどのような方法が使用されるのでしょうか?以下を選択できます。6.3 レジスタの値を保存します
ローカル変数は次のとおりです。常にグローバル変数を使用する代わりに、関数でも使用できます。では、ローカル変数を格納する適切な場所はどこでしょうか? つまり、関数が入れ子になっているときに競合が発生せず、効率を重視する必要があります。
##レジスタによって渡されたパラメータに矛盾がある場合は、レジスタの値を一時的にスタックにプッシュできます
2) 問題が発生した場合、スタックを利用することで問題が発生した状況を把握できます。
3) スタックは、オペレーティング システムのマルチタスク モードを構築するための基礎です。 推奨学習:「Java チュートリアル
」以上がJavaの理論的基礎 - スタック(概要の共有)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。