• QUEUE

    2022. 5. 18.

    by. JuneBee

    728x90
    ๋ฐ˜์‘ํ˜•

    ํŠน์„ฑ

    1. ์Šคํƒ๊ณผ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์‚ฝ์ž…๊ณผ ์‚ญ์ œ์˜ ์œ„์น˜๊ฐ€ ์ œํ•œ์ ์ธ ์ž๋ฃŒ๊ตฌ์กฐ
    2. ์„ ์ž… ์„ ์ถœ ๊ตฌ์กฐ (First In First Out)
      ํ์— ์‚ฝ์ž…ํ•œ ์ˆœ์„œ๋Œ€๋กœ ์›์†Œ๊ฐ€ ์ €์žฅ๋˜๋ฉฐ, ๊ฐ€์žฅ ๋จผ์ € ์‚ฝ์ž…๋œ ์›์†Œ๊ฐ€ ๊ฐ€์žฅ ๋จผ์ € ์‚ญ์ œ๋จ
    3. ๊ธฐ๋ณธ ์—ฐ์‚ฐ : enQueue, deQueue ์ฃผ์š” ๋ฉ”์„œ๋“œ: offer(), poll(), isEmpty(), size(), peek()
    4. ์ฃผ๋กœ LinkedList ํด๋ž˜์Šค๋ฅผ Queue ์ธํ„ฐํŽ˜์ด์Šค์˜ ๊ตฌํ˜„์ฒด๋กœ ๋งŽ์ด ์‚ฌ์šฉํ•œ๋‹ค
    ๐Ÿคฆ๐Ÿป‍โ™€๏ธ ํ ์•ˆ์— ์•„๋ฌด๊ฒƒ๋„ ์—†์„ ๋–„, ์Šคํƒ๊ณผ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ
       poll() : ์‚ญ์ œ - ๋ฅผ ๋ถˆ๋ €์„ ๋•Œ, ์˜ˆ์™ธ ๋ฐœ์ƒ ์ฒ˜๋ฆฌ๊ฐ€ ์—†๋‹ค
       remove() : ์‚ญ์ œ - ๋ฅผ ๋ถˆ๋ €์„ ๋•Œ, ์˜ˆ์™ธ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค

    ์˜ˆ์‹œ

    import jvava.util.Queue;
    import java.util.LinkedList;
    public class QueueTest{
    public static void main(String [] args){
    int N = 10;
    Queue <int[]> queue = new LinkedList<>(); //์†๋‹˜ ๋ฒˆํ˜ธ, ๋ถ•์–ด๋นต ๊ฐฏ์ˆ˜
    int customer = 1;
    
    queue.offer(new int[] {customer, 1});
    while (N >0){
    	if(!queue.isEmpty()){
    		int[] p = queue.poll();
    		int buyable = (N>p[1])? p[1]: N; //์‚ด์ˆ˜์žˆ๋Š” ๋ถ•์–ด๋นต ์ˆ˜
    		N -= buyable ; //ํŒ”๋ฆฐ ๊ฐฏ์ˆ˜
    		if(N==0){//์ „๋ถ€ ํŒ”๋ฆผ
    		System.out.println("๋งˆ์ง€๋ง‰ ์†๋‹˜: "+ p[0] +"์‚ฌ๊ฐ„ ๊ฐฏ์ˆ˜: "+buyable); }
    		else{
    		System.out.println(p[0]+"๋ฒˆ ์†๋‹˜์ด " + buyable+ "๋งŒํผ ๋ถ•์–ด๋นต์„ ์‚ฌ๊ฐ”์Šต๋‹ˆ๋‹ค\\n๋‚จ์€๊ฐœ์ˆ˜: "+N);
    		p[1] ++; //์‚ฌ๋ ค๋Š” ๋ถ•์–ด๋นต ์ฆ๊ฐ€
    		queue.offer(p);
    		queue.offer(new int[] {++customer,1});	}
      }//end of isEmpty
    } //end of while
    } //end of main
    } //end of class
    

     

    728x90
    ๋ฐ˜์‘ํ˜•

    '๐Ÿ““ STUDY > JAVA' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

    Tree  (0) 2022.05.18
    List  (0) 2022.05.18
    ์บก์Аํ™”  (0) 2022.05.17
    ๋‹คํ˜•์„ฑ  (0) 2022.05.17
    ์ƒ์†  (0) 2022.05.17

    ๋Œ“๊ธ€