3.1 スタック


スタックとは,データを一時的に蓄える
データ構造のひとつです。

スタックでは,最後に入れたデータを
最初に取り出します。

このため,入れた順序と取り出される順序が逆転します。

スタックは,
後入れ先出し(LIFO : Last In First Out)法とも
呼ばれます。





スタックは,色々なプログラムに使われます。

[スタックを使った逆ポーランド記法への変換の動きを
 表示するプログラムをダウンロードするには,
 以下をクリックしてください]


>>ダウンロード開始


[Program 3−1] スタックの動きを確認するプログラム


//宣言分部
private const int MAXSTACK = 500;
private string[] Stack = new string[MAXSTACK];
private int StackPointer;

//初期設定
private void Form1_Load(object sender, System.EventArgs e)
{
  label2.Text="" StackPointer=0;
}

//内容表示
private void 表示()
{
  listBox1.Items.Clear();
  for(int i=StackPointer-1;i>=0;i--)
      listBox1.Items.Add(Stack[i]);
}
private void button1_Click(object sender, System.EventArgs e)
{
   if(StackPointer>=MAXSTACK)
      MessageBox.Show("スタックが満杯です");
   else
   {
      Stack[StackPointer++]=textBox1.Text ;
      表示();
   }
}

private void button2_Click(object sender, System.EventArgs e)
{
  if(StackPointer<=0)
    MessageBox.Show("スタックが空です");
  else
  {
    label2.Text = Stack[--StackPointer] ;
    表示();
  }
}


i
1. 基本的なアルゴリズム

2. 基本的なデータ構造

3. 操作を伴うデータ構造

4. 探索

5. 再帰的アルゴリズム

6. ソート

7. 集合

8. 文字列処理

9. 色々なアルゴリズム


上のタイトルをクリックします