、ウ、ホ・レ。シ・ク、、マ、ニ、ハ・ヨ・テ・ッ・゙。シ・ッ、ヒトノイテ、ウ、ホ・レ。シ・ク、エ゙、爨マ、ニ、ハ・ヨ・テ・ッ・゙。シ・ッ 、ウ、ホ・レ。シ・ク、livedoor ・ッ・・テ・ラ、ヒトノイテ、ウ、ホ・レ。シ・ク、エ゙、瀝ivedoor ・ッ・・テ・ラ

フワシ。

・ケ・ソ・テ・ッ

。。・ケ・ソ・テ・ッ、マ。「コヌク螟ヒウハヌシ、キ、ソ・ヌ。シ・ソ、ォ、鮨遉ヒシ隍スミ、ケ。ハ。甅IFO。ァク衄タ霓ミ。ヒケスツ、、サ、テ、ソ1シ。クオヌロホ、ヌ、「、。」

。。・ヌ。シ・ソ、ウハヌシ、ケ、、ウ、ネ、・ラ・テ・キ・蝪ハpush。ヒ。「・ヌ。シ・ソ、シ隍スミ、ケ、ウ、ネ、・ン・テ・ラ。ハpop。ヒ、ネ、、、ヲ。」、ウ、ホ・ラ・テ・キ・螟ネ・ン・テ・ラ、マLIFO。ハLast In First Out。ァク衄、タ霓ミ、キ。ヒ、ヌ、「、。」

・ケ・ソ・テ・ッ、ホ・「・・エ・・コ・

。。・ケ・ソ・テ・ッS、マS=(array A,top,length)、ヌトオチ、オ、、。」

  • array
    • ・ヌ。シ・ソ、ハンツク、ケ、、ソ、皃ホ1シ。クオヌロホA
  • top
    • ・ケ・ソ・テ・ッ・ン・、・・ソ
    • シ。、ヒ・ヌ。シ・ソ、タム、牴フテヨ、ホヘラチヌネヨケ讀ホ、ウ、ネ。」
  • length
    • 。ハ・ケ・ソ・テ・ッ、ホソシ、オ。ヒ。癸ハ・ケ・ソ・テ・ッ、ホヘラチヌソ。ヒ

。。、ソ、タ、キ。「ス魘テヘ、ネ、キ、ニtop=0、ヌ、「、。」

。。・ラ・テ・キ・螟ホ・「・・エ・・コ・澑ush(S,x)、マシ。、ホトフ、熙ヌ、「、。」

  1
  2
  3
  4
if top=length then
  return error
top「ォtop+1
A[top]「ォx

。。、ス、、ヌ、マ・「・・エ・・コ・澑ush(S,x)、ヒ、ト、、、ニイタ筅ケ、。」
。。1ケヤフワ、ホifハク、マ・ケ・ソ・テ・ッ、ャーヌユ、ヒ、ハ、テ、ソ、ォ、ノ、ヲ、ォ、・チ・ァ・テ・ッ、キ、ニ、、、。」、筅キーヌユ、ヒ、ハ、テ、ソ、鬘「・ィ・鬘シ、スミホマ、キ、ニスェホサ、ケ、。」
。。3ケヤフワ、ヌ・ケ・ソ・テ・ッ・ン・、・・ソ、1チ、荀キ、ニ。「4ケヤフワ、ヌ・ケ・ソ・テ・ッ・ン・、・・ソ、ホーフテヨ、ヒ・ヌ。シ・ソ、タム、、ヌ、、、。」

。。、ウ、ホ・「・・エ・・コ・澑ush(S,x)、ホキラササホフ、マO(1)、ヌ、「、。」

。。、゙、ソ。「・ン・テ・ラ、ホ・「・・エ・・コ・澑op(S)、マシ。、ホトフ、熙ヌ、「、。」

  1
  2
  3
  4
if top=0 then
  return error
top「ォtop-1
return A[top+1]

。。、ス、、ヌ、マ・「・・エ・・コ・澑op(S)、ヒ、ト、、、ニイタ筅ケ、。」
。。1ケヤフワ、ホifハク、マ・ケ・ソ・テ・ッ、ャカ、ヒ、ハ、テ、ソ、ォ、ノ、ヲ、ォ、・チ・ァ・テ・ッ、キ、ニ、、、。」、筅キカ、ヒ、ハ、テ、ソ、鬘「・ィ・鬘シ、スミホマ、キ、ニスェホサ、ケ、。」
。。3ケヤフワ、ヌ・ケ・ソ・テ・ッ・ン・、・・ソ、1クコ、鬢キ、ニ。「4ケヤフワ、ヌ・ケ・ソ・テ・ッ・ン・、・・ソ、ホーフテヨ、ホ・ヌ。シ・ソ、ハヨ、キ、ニスェホサ、ケ、。」

。。、ウ、ホ・「・・エ・・コ・澑op(S)、ホキラササホフ、マO(1)、ヌ、「、。」

Java、ヌ・ケ・ソ・テ・ッ、チ犲

。。・ケ・ソ・テ・ッヘム、ホ・皈ス・テ・ノ、マシ。、ャオ、イ、鬢、。」

  • Init
    • ・ケ・ソ・テ・ッ、ウホハン、キ。「・ケ・ソ・テ・ッ、ホソシ、オ、ネ・ケ・ソ・テ・ッ・ン・、・・ソ、ス魘イス、ケ、。」
  • Push
    • ・ケ・ソ・テ・ッ、ヒ・ヌ。シ・ソ、タム、爍」
  • Pop
    • ・ケ・ソ・テ・ッ、ォ、鬣ヌ。シ・ソ、シ隍スミ、ケ。」
  • IsEmpty
    • ・ケ・ソ・テ・ッ、ャカ、ォ、ノ、ヲ、ォトエ、ル、。」
  • IsFull
    • ・ケ・ソ・テ・ッ、ャーヌユ、ヒ、ハ、テ、ソ、ォ、ノ、ヲ、ォ、トエ、ル、。」

Java、ヒ、隍シツクウ

。。・ュ。シニホマ、ヌソテヘ、ニホマ、キ、ニ。「・ケ・ソ・テ・ッ、ヒ、ス、ホ・ヌ。シ・ソ、Push、キ。「・ケ・ソ・テ・ッ、ャーヌユ、ヒ、ハ、テ、ソ、鮨酳ヨ、ヒPop、ケ、・ラ・・ー・鬣爍ハStackTest.java。ヒ、シ。、ヒシィ、ケ。」、ソ、タ、キ。「IsEmpty,IsFull、ホキイフ、マbooleanキソ、ハヨ、ケ、ウ、ネ、ヒ、ケ、。」

Everything is expanded.Everything is shortened.
  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
 
 
 
 
 
 
-
|
|
|
|
|
|
|
-
|
|
|
!
|
|
|
|
-
-
|
!
|
|
!
|
|
|
-
-
|
!
|
|
!
|
|
|
-
-
|
-
|
!
!
|
|
|
-
-
|
-
|
!
!
|
|
|
-
|
-
|
!
|
!
|
|
-
|
|
|
|
|
|
|
-
-
|
|
|
|
|
|
-
|
|
-
|
|
!
!
|
|
|
|
|
|
-
|
|
|
!
!
!
 
/*
 * StackTest。ァ・ケ・ソ・テ・ッ、ホエヒワチ犲
 * ニホマ
 */
import java.io.*;
 
public class StackTest {
    static int[] StackData;    //・ケ・ソ・テ・ッ
    static int StackPtr;    //・ケ・ソ・テ・ッ・ン・、・・ソ
    static int StackMax;    //・ケ・ソ・テ・ッ、ホソシ、゚
    
    //Init。ァ・ケ・ソ・テ・ッ、ス魘イス、ケ、
    //stackMax。ァ・ケ・ソ・テ・ッ、ホソシ、オ
    //フ皃テヘ。ァ、ハ、キ
    static void Init(int stackMax){
        StackMax=stackMax;
        StackData=new int[StackMax];
        StackPtr=0;
    }
    
    //Push。ァ・ケ・ソ・テ・ッ、ヒ・ヌ。シ・ソ、タム、
    //data。ァ・ヌ。シ・ソ
    //フ皃テヘ。ァ、ハ、キ
    static void Push(int data){
        if(StackMax <= StackPtr){
            return;
        }
        StackData[StackPtr]=data;
        StackPtr++;
    }
    
    //Pop。ァ・ケ・ソ・テ・ッ、ォ、鬣ヌ。シ・ソ、シ隍スミ、ケ
    //フ皃テヘ。ァシ隍スミ、キ、ソ・ヌ。シ・ソ
    static int Pop(){
        if(StackPtr <= 0){
            return 0;
        }
        StackPtr--;
        return StackData[StackPtr];
    }
    
    //IsEmpty。ァ・ケ・ソ・テ・ッ、ャカ、ォ、ノ、ヲ、ォトエ、ル、
    //フ皃テヘ。ァtrue、ハ、鮓
    static boolean IsEmpty(){
        if(StackPtr==0){
            return true;
        }else{
            return false;
        }
    }
    
    //IsFull。ァ・ケ・ソ・テ・ッ、ャーヌユ、ォ、ノ、ヲ、ォトエ、ル、
    //フ皃テヘ。ァtrue、ハ、鮓
    static boolean IsFull(){
        if(StackPtr >= StackMax){
            return true;
        }else{
            return false;
        }
    }
    
    //ShowStack。ァ・ケ・ソ・テ・ッ、ノスシィ、ケ、
    //フ皃テヘ。ァ、ハ、キ
    static void ShowStack(){
        System.out.println(StackPtr + ":");
        for(int i=0;i<StackPtr;i++){
            System.out.println(StackData[i]+" ");
        }
        System.out.println();
    }
    
    //main
    public static void main(String[] args) {
        //・ケ・ソ・テ・ッ、ス魘イス
        Init(5);
        ShowStack();
        
        BufferedReader rd=new BufferedReader(new InputStreamReader(System.in));
        
        //・ケ・ソ・テ・ッ、ャーヌユ、ヒ、ハ、、゙、ヌキォ、ハヨ、キ
        while(IsFull()!=true){
            try{
                System.out.println("?");
                String ln=rd.readLine();
                int data=Integer.parseInt(ln);
                System.out.println("push:"+data+"\t");
                Push(data);
                ShowStack();
            }catch(IOException e){
                System.out.println("ニホマ・ィ・鬘シ");
                return;
            }catch(NumberFormatException e){
                System.out.println("・ケ・ソ・テ・ッ、ヒタム、狒テヘ、ニホマ、サ、");
                continue;
            }
        }
        
        //・ケ・ソ・テ・ッ、ォ、鬣ヌ。シ・ソ、シ隍スミ、キ。「ノスシィ、ケ、。」
        System.out.println("\n\t");
        ShowStack();
        
        //・ケ・ソ・テ・ッ、ャカ、ヒ、ハ、、゙、ヌキォ、ハヨ、ケ
        while(IsEmpty() != true){
            int n = Pop();
            System.out.println("pop:"+n+"\t");
            ShowStack();
        }
    }
}

。。、ウ、ホ・ラ・・ー・鬣爨シツケヤ、ケ、、ネシ。、ホ、隍ヲ、ヒ、ハ、。」?、ホシ。、ホソサ、ャニホマ、キ、ソソテヘ、ヌ、「、。」

>java StackTest
0:
? 6
push:6	1:6 
? 4
push:4	2:6 4 
? 2
push:2	3:6 4 2 
? 1
push:1	4:6 4 2 1 
? 9
push:9	5:6 4 2 1 9

	5:6 4 2 1 9 
pop:9	4:6 4 2 1 
pop:1	3:6 4 2 
pop:2	2:6 4 
pop:4	1:6 
pop:6	0:

・ケ・ソ・テ・ッ、ホアヘム

  • mainエリソ、ホテ讀ヌハフ、ホエリソ、クニ、モスミ、ケ・ラ・・ー・鬣
  • ・マ・ホ・、、ホナ
    • 3、ト、ホ・ケ・ソ・テ・ッ、ケヘ、ィ、。」
  • ・ー・鬣ユ・「・・エ・・コ・
    • ・ー・鬣ユテオコ・「・・エ・・コ・爨ヌ・ケ・ソ・テ・ッ、・ュ・蝪シ、ャサネ、、、。」
  • オユ・ン。シ・鬣・ノオュヒ。
  • シーノセイチハヒ。

サイケヘハクク・

  • ケヨオチ・ホ。シ・ネ
  • 。リトカゾイmini。。エヒワセハオサスムシヤサクウ。。ハソタョ19ヌッナルネヌ。ル
  • 。リEclipse、ヒ、隍ツホクウウリスャ。。Java、ヌ、マ、ク、皃・「・・エ・・コ・猗フ遑ル