はじめに
「マスターになりたければ、このスキルを練習しなければなりません。」
優秀なプログラマーになるためには、データ構造とアルゴリズムは必修科目です。今日の Web プログラマは、多くのアルゴリズムがパッケージ化されており、特定の実装の詳細を気にする必要がないため、従来のアルゴリズムとデータ構造を比較的少数しか使用していません。たとえば、PHP のスタック操作 array_pop とスタック操作 array_push はすべて指定されています。基本的なアルゴリズムに関する研究はますます少なくなり、最終的には単なるツールの操り人形になってしまいました。
したがって、私は今でも、より多くのプログラマーが基礎から学び始めることをお勧めします。この記事では、スタックに慣れるために、最もよく知られているスタック操作から始めます。
スタックとは何ですか?
「後入れ先出し」というマントラは私が最も印象に残った文章であり、先生の説明の中でも最も印象に残った言葉です。
定義: スタックは、挿入と削除を 1 つの位置のみに制限する線形リストであり、この位置は線形リストの終わりであり、スタックの先頭と呼ばれます。
プロセス: 最初に入力されたデータはスタックの一番下にプッシュされ、最後のデータはスタックの一番上にあります。データを読み取る必要がある場合、データはスタックの一番上からポップされます (最後のデータが読み取られます)。最初に出ます)。
分析
定義とプロセスを通じて、データ構造(赤でマーク)、アクション部分(青でマーク)、およびアクションのルール(黄色でマーク)を分析します。
をご覧ください。
材料
データ: 線形テーブル (配列構造で保存され、名前付きデータ)、終了インデックス (int 構造で保存され、end という名前が付けられます。初期値は null - 先頭の線形テーブルには要素がないため、そのようなものはありません)データは常に取得および追加されるため、この終端は変化する要素です)。
アクション(メソッド):プッシュ(プッシュ:ルール、線形テーブルの最後に配置)、ポップ(ポップ:ルール、最後から取り出され、終了位置が前に移動)。
コーディング
ランニング結果
概要
上記はスタックの分析と理解のプロセスです。私は PHP コーダーなので、分析とコーディングには PHP を使用します。
C 言語でコーディングしている場合は、配列で最大幅を指定する必要があります。これは、PHP 配列とは異なり、C 言語の配列は自動的に大きくなる可能性があり、初期幅が必要であるためです。
原文: http://www.cnblogs.com/baochuan/archive/2012/06/02/2530386.html