¾ðÊó²Ê³Ø¤ò³Ø¤ÖÂç³ØÀ¸¤¬¥×¥í¥°¥é¥ß¥ó¥°(C¸À¸ì,Java¤Ê¤É)¡¢¥Í¥Ã¥È¥ï¡¼¥¯¡¢»ñ³Ê»î¸³(¾ðÊó½èÍýµ»½Ñ¼Ô»î¸³,CCNA)¤Ê¤É¤Ë´Ø¤¹¤ëµ»ö¤ò½ñ¤¤¤Æ¤¤¤Þ¤¹¡£
¥¥å¡¼¤ÏÀèÆþ¤ìÀè½Ð¤·(FIFO : First In First Out)¤Ë´ð¤Å¤¯¥Ç¡¼¥¿¹½Â¤¤Ç¤¹¡£(cf. ¥¹¥¿¥Ã¥¯)
´ðËÜŪ¤«¤Ä±þÍѾå½ÅÍפʥǡ¼¥¿¹½Â¤¤Ç¤¢¤ë¤¿¤á¡¢É¸½à¥é¥¤¥Ö¥é¥ê¤Ê¤É¤Î·Á¤Ç¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤ë¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì¤â¤¢¤ê¤Þ¤¹¡£Java¤ÎAPI¤Ë¤âjava.util.Queue¤È¤¤¤¦¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤¬¤¢¤ê¤Þ¤¹¡£¤³¤ì¤Ï¤¢¤¯¤Þ¤Ç¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ê¤Î¤Ç¡¢¤½¤ì¤ò·Ñ¾µ¤·¤¿java.util.LinkedList¤Ê¤É¤Î¥¤¥ó¥¹¥¿¥ó¥¹¤òÀ¸À®¤·¤Æ»È¤¤¤Þ¤¹¡£
/* JavaAPI¤ÎQueue¤Î»ÈÍÑÎã */ Queue<Integer> queue = new LinkedList<Integer>();
¥¥å¡¼¤Ï°ìÈÌŪ¤Ë°Ê²¼¤ÎÁàºî¤òÈ÷¤¨¤Æ¤¤¤Þ¤¹¡£¤³¤³¤Ç¤â¡¢¤³¤ì¤é¤Îµ¡Ç½¤ò¼ÂÁõ¤·¤Þ¤·¤¿¡£
public class MyQueue<T> {
private T queue[];
private int fpnt, rpnt;
private final static int DEFAULT_CAPACITY = 10;
private int capacity;
public MyQueue() {
this(DEFAULT_CAPACITY);
}
public MyQueue(int initialCapacity) {
capacity = initialCapacity;
queue = (T[]) new Object[initialCapacity];
fpnt = 0;
rpnt = 0;
}
public void enqueue(T item) {
if(rpnt >= capacity)
System.out.println("Queue is full.");
else
queue[rpnt++] = item;
}
public T dequeue() {
if(fpnt == rpnt) {
System.out.println("Queue is empty");
return null;
} else {
return queue[fpnt++];
}
}
}
¤³¤Î¼ÂÁõ¤Ç¤Ï¥¥å¡¼¤ÎÆâÉô¤¬ÇÛÎó¤Ë¥Ç¡¼¥¿¤òÊÝ»ý¤·¤Æ¤¤¤ë¤¿¤á¡¢³ÊǼ¤Ç¤¤ëÍ×ÁÇ¿ô¤Ë¸Â¤ê¤¬¤¢¤ê¤Þ¤¹¡£¤Þ¤¿¡¢ÀèÆ¬Í×ÁǤȺǸåÈø¤ÎÍ×ÁǤؤΥݥ¤¥ó¥¿¤Ï¿Ê¤à°ìÊý¤Ê¤Î¤Ç¡¢Dequeue¤·¤¿Îΰè¤ÏÆóÅ٤ȻȤ¦¤³¤È¤¬¤Ç¤¤º¡¢½é¤á¤Ëºî¤Ã¤¿ÇÛÎó¤Î¥µ¥¤¥º¤Þ¤Ç¤·¤«Í×ÁǤòÆþ¤ì¤ë¤³¤È¤¬¤Ç¤¤Þ¤»¤ó¡£
²ò·èºö1¤ÏÇÛÎó¤ÎÍ×ÁǤòÁ°¤Ë¤º¤é¤¹¤È¤¤Ë»þ´Ö¤¬¤«¤«¤ë¤È¤¤¤¦·çÅÀ¤¬¤¢¤ê¤Þ¤¹¡£
²ò·èºö2¤Ïº£²ó¤Î¤è¤¦¤Ë¥¥å¡¼¤ÎÆâÉô¤òÇÛÎó¤Ç¼ÂÁõ¤¹¤ë¾ì¹ç¤Ë¤Ï͸ú¤Ê¹©ÉפǤ¢¤ë¤È¤¤¤¨¤Þ¤¹¡£¼¡²ó¤Î¥¨¥ó¥È¥ê¤Ç¤Ï¤³¤ÎÊýË¡¤Ç¥×¥í¥°¥é¥à¤ò²þÎɤ·¤Þ¤¹¡£¤·¤«¤·¡¢ÇÛÎó¤ò»È¤Ã¤Æ¤¤¤ë°Ê¾å¡¢°ÍÁ³¤È¤·¤ÆºÇÂçÍÆÎ̤ÎÌäÂê¤Ï»Ä¤Ã¤Æ¤¤¤ë¤³¤È¤ËÃí°Õ¤¬É¬ÍפǤ¹¡£
²ò·èºö3¤Ï¾å¤Çµó¤²¤¿ÌäÂê¤ò´°Á´¤Ë²ò·è¤·¤Æ¤¯¤ì¤Þ¤¹¡£3²óÌܤΥ¨¥ó¥È¥ê¤Ç¤Ï¤³¤ÎÊýË¡¤Ë¤è¤Ã¤Æ¥×¥í¥°¥é¥à¤ò²þÎɤ·¤Þ¤¹¡£
¥Æ¡¼¥Þ:¥×¥í¥°¥é¥ß¥ó¥° - ¥¸¥ã¥ó¥ë:¥³¥ó¥Ô¥å¡¼¥¿ - ¥½¡¼¥·¥ã¥ë¥Ö¥Ã¥¯¥Þ¡¼¥¯:
![]()
Author:TBVector
»ä¤Î¥µ¥¤¥È
¥Ö¥Ã¥¯¥Þ¡¼¥¯¤ÈRSS
ͧã¤Î¥µ¥¤¥È
¤¢¤ï¤»¤ÆÆÉ¤ß¤¿¤¤
¤Ï¤Æ¤Ê¥ê¥ó¥°