¾ðÊó²Ê³Ø¤ò³Ø¤ÖÂç³ØÀ¸¤¬¥×¥í¥°¥é¥ß¥ó¥°(C¸À¸ì,Java¤Ê¤É)¡¢¥Í¥Ã¥È¥ï¡¼¥¯¡¢»ñ³Ê»î¸³(¾ðÊó½èÍýµ»½Ñ¼Ô»î¸³,CCNA)¤Ê¤É¤Ë´Ø¤¹¤ëµ»ö¤ò½ñ¤¤¤Æ¤¤¤Þ¤¹¡£
¥¹¥¿¥Ã¥¯¤Ï¸åÆþ¤ìÀè½Ð¤·(LIFO : Last In First Out)¤Ë´ð¤Å¤¯¥Ç¡¼¥¿¹½Â¤¤Ç¤¹¡£(cf. FIFO¥¥å¡¼)
´ðËÜŪ¤«¤Ä±þÍѾå½ÅÍפʥǡ¼¥¿¹½Â¤¤Ç¤¢¤ë¤¿¤á¡¢Â¿¤¯¤Î¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì¤¬É¸½à¥é¥¤¥Ö¥é¥ê¤Ê¤É¤Î·Á¤Ç¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤¹¡£Java¤ÎAPI¤Ë¤âjava.util.Stack¤È¤¤¤¦¥¯¥é¥¹¤¬¤¢¤ê¤Þ¤¹¡£
Âè1²ó¤È¤Ê¤ë¤³¤Î¥¨¥ó¥È¥ê¤Ç¤Ï¥¹¥¿¥Ã¥¯¤¬È÷¤¨¤ë´ðËÜŪ¤ÊÁàºî¤Î¤ß¤ò¼ÂÁõ¤·¤Þ¤·¤¿¡£
public class MyStack {
private int[] stack;
private final int DEFAULT_CAPACITY = 10;
private int sp; /* Stack Pointer */
public MyStack() {
stack = new int[DEFAULT_CAPACITY];
}
public MyStack(int capacity) {
stack = new int[capacity];
}
public void push(int item) {
stack[sp++] = item;
}
public int pop() {
return stack[--sp];
}
}
MyStack¥¯¥é¥¹¤Î¥Ç¥Õ¥©¥ë¥È¤Î¥³¥ó¥¹¥È¥é¥¯¥¿¤Ç¤¹¡£¼¡¤Î¤è¤¦¤ËMyStack¥¯¥é¥¹¤Î¥¤¥ó¥¹¥¿¥ó¥¹¤ò¤Ä¤¯¤Ã¤¿¤È¤¤Ë¸Æ¤Ó½Ð¤µ¤ì¤Þ¤¹¡£¤³¤Î¤È¤¡¢¥¹¥¿¥Ã¥¯¤ÎºÇÂ祵¥¤¥º¤ÏDEFAULT_SIZE(=10)¤Ë¤Ê¤ê¤Þ¤¹¡£
MyStack stack = new MyStack();
MyStack¥¯¥é¥¹¤Î¥³¥ó¥¹¥È¥é¥¯¥¿¤Ç¤¹¡£int·¿¤ÎÃͤò°ú¿ô¤Ë¤È¤ê¡¢¤½¤ì¤ò¥¹¥¿¥Ã¥¯¤ÎºÇÂ祵¥¤¥º¤Ë»ØÄꤷ¤Þ¤¹¡£Î㤨¤Ð¡¢¥¹¥¿¥Ã¥¯¤ÎºÇÂ祵¥¤¥º¤ò100¤È¤·¤¿¤¤¾ì¹ç¤Ï¼¡¤Î¤è¤¦¤Ë¤·¤Þ¤¹¡£
MyStack stack = new MyStack(100);
int·¿¤ÎÃͤò°ú¿ô¤Ë¤È¤ê¡¢¤½¤ì¤ò¥¹¥¿¥Ã¥¯¤ËÀѤߤޤ¹¡£°Ê²¼¤Î¥³¡¼¥É¤Ï¥¹¥¿¥Ã¥¯¥Ý¥¤¥ó¥¿(sp : stack pointer)¤¬»Ø¤¹¾ì½ê¤Ø¥Ç¡¼¥¿¤ò³ÊǼ¤·¡¢¤½¤Î¸å¡¢¥¹¥¿¥Ã¥¯¥Ý¥¤¥ó¥¿¤ò¿Ê¤á¤Æ¤¤¤Þ¤¹¡£
MyStack stack = new MyStack(); stack.push(10); stack.push(20); stack.push(30);
¥¹¥¿¥Ã¥¯¤Î°ìÈÖ¾å¤ËÀÑ¤Þ¤ì¤Æ¤¤¤ë¥Ç¡¼¥¿¤ò¼è¤ê½Ð¤·¡¢¤½¤ÎÃÍ(int·¿)¤òÊÖ¤·¤Þ¤¹¡£"--sp"¤È¤¹¤ë¤³¤È¤Ç¡¢ÇÛÎóÍ×ÁǤإ¢¥¯¥»¥¹¤¹¤ëÁ°¤Ë¥¹¥¿¥Ã¥¯¥Ý¥¤¥ó¥¿¤Ç°ì¤ÄÁ°¤ò»Ø¤·¤Æ¤¤¤ë¤Î¤¬¥Ý¥¤¥ó¥È¤Ç¤¹¡£
MyStack stack = new MyStack(); stack.push(10); stack.push(20); stack.push(30); System.out.println(stack.pop()); System.out.println(stack.pop()); System.out.println(stack.pop());
30 20 10
¥¹¥¿¥Ã¥¯¤Ë¥Ç¡¼¥¿¤òÀѤó¤À½çÈ֤Ȥϵսç¤ËÃͤ¬½ÐÎϤµ¤ì¤Æ¤¤¤Þ¤¹¡£
¤³¤Î¼ÂÁõ¤Ë¤Ï¤¤¤¯¤Ä¤«¤ÎÌäÂ꤬¤¢¤ê¤Þ¤¹¡£¤½¤³¤Ç¡¢¼¡²ó¤Î¥¨¥ó¥È¥ê¡ÊÂè2²ó¡Ë¤Ç¤Ï¤³¤ì¤é¤ò²ò·è¤·¤Þ¤¹¡£
¥¹¥¿¥Ã¥¯¤¬ÆâÉô¤Ë¤â¤ÄÇÛÎó¤ÎºÇÂ祵¥¤¥º¤è¤ê¿¤¯¤Î¥Ç¡¼¥¿¤¬push¤µ¤ì¤¿¾ì¹ç¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤»¤ó¡£
¥¹¥¿¥Ã¥¯¤Ëint·¿°Ê³°¤Î¥Ç¡¼¥¿¤òÀѤळ¤È¤¬¤Ç¤¤Þ¤»¤ó¡£
| ÌÀ²òJava¤Ë¤è¤ë¥¢¥ë¥´¥ê¥º¥à¤È¥Ç¡¼¥¿¹½Â¤ | |
![]() | ¼ÆÅÄ Ë¾ÍÎ ¥½¥Õ¥È¥Ð¥ó¥¯¥¯¥ê¥¨¥¤¥Æ¥£¥Ö 2007-11-07 Çä¤ê¾å¤²¥é¥ó¥¥ó¥° : 6152 Amazon¤Ç¾Ü¤·¤¯¸«¤ë by G-Tools |
¥Æ¡¼¥Þ:¥×¥í¥°¥é¥ß¥ó¥° - ¥¸¥ã¥ó¥ë:¥³¥ó¥Ô¥å¡¼¥¿ - ¥½¡¼¥·¥ã¥ë¥Ö¥Ã¥¯¥Þ¡¼¥¯:
![]()
Author:TBVector
»ä¤Î¥µ¥¤¥È
¥Ö¥Ã¥¯¥Þ¡¼¥¯¤ÈRSS
ͧã¤Î¥µ¥¤¥È
¤¢¤ï¤»¤ÆÆÉ¤ß¤¿¤¤
¤Ï¤Æ¤Ê¥ê¥ó¥°