Ads by Google

¾åµ­¤Î¹­¹ð¤Ï£±¥ö·î°Ê¾å¹¹¿·¤Î¤Ê¤¤¥Ö¥í¥°¤Ëɽ¼¨¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
¿·¤·¤¤µ­»ö¤ò½ñ¤¯»ö¤Ç¹­¹ð¤¬¾Ã¤»¤Þ¤¹¡£
¥¹¥Ý¥ó¥µ¡¼¥É¥ê¥ó¥¯
-- : -- : -- | ¥¹¥Ý¥ó¥µ¡¼¹­¹ð | page top¢¬

Java¤Ç³Ø¤Ö¥Ç¡¼¥¿¹½Â¤ÆþÌç01¡Ý¥¹¥¿¥Ã¥¯(2/3)¡Ý¥¸¥§¥Í¥ê¥¯¥¹¤Î¼ÂÁõ

Âè1²ó¤È¤Ê¤ëÁ°²ó¥¨¥ó¥È¥ê¡ÖJava¤Ç³Ø¤Ö¥Ç¡¼¥¿¹½Â¤ÆþÌç01¡Ý¥¹¥¿¥Ã¥¯(1/3)¡Ý´ðËÜÁàºî¤Î¼ÂÁõ¡×¤Ç¤Ï¥¹¥¿¥Ã¥¯¤¬È÷¤¨¤ë´ðËÜŪ¤ÊÁàºî¤Î¤ß¤ò¼ÂÁõ¤·¤Þ¤·¤¿¡£

  • push : ¥¹¥¿¥Ã¥¯¤Ë¥Ç¡¼¥¿¤òÀѤࡣ
  • pop : ¥¹¥¿¥Ã¥¯¤«¤é¥Ç¡¼¥¿¤ò¼è¤ê½Ð¤¹¡£

¤·¤«¤·¡¢Á°²ó¤Î¼ÂÁõ¤Ë¤Ï

  • ÇÛÎó¥µ¥¤¥º¤¬¸ÇÄê¤Ç¤¢¤ë¡£
  • int·¿¤Î¥Ç¡¼¥¿¤·¤«³ÊǼ¤Ç¤­¤Ê¤¤¡£

¤È¤¤¤¦ÌäÂ꤬¤¢¤ê¤Þ¤·¤¿¡£¤½¤³¤Ç¡¢º£²ó¤Ï¼¡¤Î¤è¤¦¤Ê²þÎɤò¤·¤Þ¤¹¡£

  • push¤Î¤¿¤Ó¤ËÇÛÎó¤ÎÍÆÎ̤ò¥Á¥§¥Ã¥¯¤·¡¢¤¤¤Ã¤Ñ¤¤¤Ë¤Ê¤Ã¤Æ¤¤¤¿¤é³ÈÂ礹¤ë¡£
  • ¥¸¥§¥Í¥ê¥¯¥¹¤ò¼ÂÁõ¤·¡¢¤µ¤Þ¤¶¤Þ¤Ê¥ª¥Ö¥¸¥§¥¯¥È¤ò³ÊǼ¤Ç¤­¤ë¤è¤¦¤Ë¤¹¤ë¡£

¥¸¥§¥Í¥ê¥¯¥¹¤ò¼ÂÁõ¤·¤¿MyStack

public class MyStack<T> {
	
	private T[] stack;
	private int sp; /* stack pointer */
	private final static int DEFAULT_CAPACITY = 10;
	private int capacity;
	
	public MyStack() {
		this(DEFAULT_CAPACITY);
	}
	
	public MyStack(int initialCapacity) {
		capacity = initialCapacity;
		stack = (T[]) new Object[initialCapacity];
	}
	
	public void push(T item) {
		stack[sp++] = item;
		capacityCheck();
	}
	
	public T pop() {
		return stack[--sp];
	}
	
	private void capacityCheck() {
		if(sp >= capacity)
			expandCapacity();
	}
	
	private void expandCapacity() {
		capacity *= 2;
		Object[] oldStack = stack;
		stack = (T[]) new Object[capacity];
		System.arraycopy(oldStack, 0, stack, 0, sp);
	}

}

public MyStack()

°ú¿ô¤¬°Û¤Ê¤ë¤â¤¦1¤Ä¤Î¥³¥ó¥¹¥È¥é¥¯¥¿ MyStack(int initialCapacity) ¤Ë¥Ç¥Õ¥©¥ë¥È¤ÎÍÆÎÌ(DEFAULT_CAPACITY(=10))¤òÅϤ·¤Æ¸Æ¤Ó½Ð¤·¤Þ¤¹¡£

public MyStack(int initialCapacity)

°ú¿ô¤Ë¤È¤Ã¤¿Ãͤò¥¹¥¿¥Ã¥¯¤ÎÍÆÎÌ¡ÊÆâÉô¤ÇÊÝ»ý¤¹¤ëÇÛÎó¤Î¥µ¥¤¥º¡Ë¤Ë¤·¤Þ¤¹¡£

public void push(T item)

T·¿¤Î¥ª¥Ö¥¸¥§¥¯¥È¤ò°ú¿ô¤Ë¤È¤ê¡¢¤½¤ì¤ò¥¹¥¿¥Ã¥¯¤ËÀѤߤޤ¹¡£¤½¤Î¸å¡¢¥¹¥¿¥Ã¥¯¡Ê¤ÎÆâÉô¤ËÊÝ»ý¤¹¤ëÇÛÎó¡Ë¤¬¤¤¤Ã¤Ñ¤¤¤Ë¤Ê¤Ã¤Æ¤¤¤Ê¤¤¤«³Îǧ¤·¤Þ¤¹¡ÊcapacityCheck()¤ò¸Æ¤Ó½Ð¤·¤Þ¤¹¡Ë¡£

public T pop()

¥¹¥¿¥Ã¥¯¤Î°ìÈÖ¾å¤Ë¤¢¤ëÍ×ÁǤò¼è¤ê½Ð¤·¤Þ¤¹¡£

private void capacityCheck()

¥¹¥¿¥Ã¥¯¡Ê¤ÎÆâÉô¤ËÊÝ»ý¤¹¤ëÇÛÎ󤬤¤¤Ã¤Ñ¤¤¤Ë¤Ê¤Ã¤Æ¤¤¤ë(sp >= capacity)¤Ê¤é¤Ð¡¢¤½¤ì¤òÂ礭¤¯¤¹¤ë¥á¥½¥Ã¥ÉexpandCapacity()¤ò¸Æ¤Ó½Ð¤·¤Þ¤¹¡£¤³¤ì¤é¤Î¥á¥½¥Ã¥É¤Ï¥¯¥é¥¹Æâ¤Î¥á¥½¥Ã¥É¤«¤é¤·¤«¸Æ¤Ó½Ð¤µ¤Ê¤¤¤Î¤Ç¡¢¥¢¥¯¥»¥¹»ØÄê»Ò¤Ïprivate¤Ë¤·¤Æ¤¢¤ê¤Þ¤¹¡£

private void expandCapacity()

¥¹¥¿¥Ã¥¯¡Ê¤ÎÆâÉô¤ËÊÝ»ý¤¹¤ëÇÛÎó¡Ë¤ÎÍÆÎ̤òÁý¤ä¤·¤Þ¤¹¡£¤È¤¤¤Ã¤Æ¤â¡¢º£»È¤Ã¤Æ¤¤¤ëÇÛÎó¤òÂ礭¤¯¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Ê¤¤¤Î¤Ç¡¢¿·¤·¤¤ÇÛÎó¤òºî¤ê¡¢System.arraycopy()¤Ç¥Ç¡¼¥¿¤ò¤½¤³¤Ë¥³¥Ô¡¼¤·¤Þ¤¹¡£

»ÈÍÑÎã

/* ¡ûÀµ¤·¤¤ */
MyStack<String> sStack = new MyStack<String>();
stack.push("hoge");

/* ¡ûÀµ¤·¤¤ */
MyStack<Integer> iStack = new MyStack<Integer>();
stack.push(10);

/* ¡ß´Ö°ã¤¤ */
MyStack<int> iStack = new MyStack<int>();
stack.push(10);

int·¿¤Ï¥ª¥Ö¥¸¥§¥¯¥È¤Ç¤Ï¤Ê¤¤¤Î¤ÇInteger¤È¤·¤Æ°·¤¦É¬Íפ¬¤¢¤ê¤Þ¤¹¡£¤¿¤À¤·¡¢¥ª¡¼¥È¥Ü¥¯¥·¥ó¥°/¥¢¥ó¥Ü¥¯¥·¥ó¥°¤Ë¤è¤ê¡¢¤¤¤Ã¤¿¤óIntegerÍѤΥ¹¥¿¥Ã¥¯¤òºî¤Ã¤Æ¤·¤Þ¤¨¤Ð¡¢¡Ê¸«¤«¤±¾å¡Ëint·¿¤Î¥Ç¡¼¥¿¤ò¤½¤Î¤Þ¤Þ½Ð¤·Æþ¤ì¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£

Java¤Ç³Ø¤Ö¥Ç¡¼¥¿¹½Â¤ÆþÌç01¡Ý¥¹¥¿¥Ã¥¯

  1. Java¤Ç³Ø¤Ö¥Ç¡¼¥¿¹½Â¤ÆþÌç01¡Ý¥¹¥¿¥Ã¥¯(1/3)¡Ý´ðËÜÁàºî¤Î¼ÂÁõ
  2. Java¤Ç³Ø¤Ö¥Ç¡¼¥¿¹½Â¤ÆþÌç01¡Ý¥¹¥¿¥Ã¥¯(2/3)¡Ý¥¸¥§¥Í¥ê¥¯¥¹¤Î¼ÂÁõ¡Ê¤³¤Î¥¨¥ó¥È¥ê¡Ë
  3. Java¤Ç³Ø¤Ö¥Ç¡¼¥¿¹½Â¤ÆþÌç01¡Ý¥¹¥¿¥Ã¥¯(3/3)¡Ý¤µ¤é¤Ê¤ëÁàºî¤Î¼ÂÁõ
  4. ¥¹¥Ý¥ó¥µ¡¼¥É¥ê¥ó¥¯

    ¥Æ¡¼¥Þ:¥×¥í¥°¥é¥ß¥ó¥° - ¥¸¥ã¥ó¥ë:¥³¥ó¥Ô¥å¡¼¥¿ - ¥½¡¼¥·¥ã¥ë¥Ö¥Ã¥¯¥Þ¡¼¥¯: ¤³¤Îµ­»ö¤ò¥¯¥ê¥Ã¥×¡ª Yahoo!¥Ö¥Ã¥¯¥Þ¡¼¥¯¤ËÅÐÏ¿

16 : 06 : 41 | ¥×¥í¥°¥é¥ß¥ó¥°¡ÝJava | ¥È¥é¥Ã¥¯¥Ð¥Ã¥¯(0) | ¥³¥á¥ó¥È(0) | page top¢¬
<<UNIX¥·¥¹¥Æ¥à¥×¥í¥°¥é¥ß¥ó¥°¡Ý´Ê°×¥·¥§¥ë¤Î¼ÂÁõ | ¥Û¡¼¥à | Java¤Ç³Ø¤Ö¥Ç¡¼¥¿¹½Â¤ÆþÌç01¡Ý¥¹¥¿¥Ã¥¯(1/3)¡Ý´ðËÜÁàºî¤Î¼ÂÁõ>>
¥³¥á¥ó¥È

¥³¥á¥ó¥È¤ÎÅê¹Æ














´ÉÍý¼Ô¤Ë¤À¤±É½¼¨¤òµö²Ä¤¹¤ë

¥È¥é¥Ã¥¯¥Ð¥Ã¥¯
¥È¥é¥Ã¥¯¥Ð¥Ã¥¯URL
¢ªhttp://networkprogramming.blog18.fc2.com/tb.php/21-ef46b7e3
¤³¤Îµ­»ö¤Ë¥È¥é¥Ã¥¯¥Ð¥Ã¥¯¤¹¤ë(FC2¥Ö¥í¥°¥æ¡¼¥¶¡¼)
| ¥Û¡¼¥à |

¥×¥í¥Õ¥£¡¼¥ë

Author:TBVector

¥×¥í¥Õ¥£¡¼¥ë

¥á¡¼¥ë¥Õ¥©¡¼¥à

µ­»ö¸¡º÷

Google

ºÇ¶á¤Îµ­»ö

¿Íµ¤¤Îµ­»ö

²áµî¤Îµ­»ö

¥«¥Æ¥´¥ê¡¼

¥¿¥°¥é¥ó¥­¥ó¥°

¥ê¥ó¥¯

ºÇ¶á¤Î¥³¥á¥ó¥È

ºÇ¶á¤Î¥È¥é¥Ã¥¯¥Ð¥Ã¥¯

¥¢¥¯¥»¥¹¥«¥¦¥ó¥¿