๐ํ(Queue) ๋?
์ ์
์ ์ถ('FIFO') ๋ฐฉ์์ผ๋ก ๊ฐ์ฅ ๋จผ์  ๋ค์ด์จ ๋ฐ์ดํฐ๊ฐ ๊ฐ์ฅ ๋จผ์  ๋๊ฐ๋ค 
๋ฐ์ดํฐ๋ฅผ ์ฝ์
ํ๋ ์ฐ์ฐ๊ณผ ์ญ์ ํ๋ ์ฐ์ฐ์ด ์์ชฝ์์ ์งํ๋๋ค.
๐ํ ๊ตฌํ ๋ฉ์๋
๋ฐฐ์ด์ ์ด์ฉํด์ ์ซ์๋ฅผ ์ฌ๋ฌ๊ฐ ์ ์ฅํ  ์ ์๊ฒ ๋ณ์ ์์ฑ 
๋ฐฐ์ด์ ์ง์  ์ ๊ทผํด์ ์ซ์๋ฅผ ์ ์ฅํ  ์ ์์ผ๋ฉด ์๋๊ธฐ ๋๋ฌธ์ ์ ๊ทผ ์ ์ด์๋ก ์ ์ด 
 front ๋ณ์ : ๋งจ ์์ ๋ฐ์ดํฐ๊ฐ ์ด๋์ ์ ์ฅ๋๊ฑด์ง ๊ฐ๋ฆฌํด
rear ๋ณ์ : ๋ค์ ๋ฐ์ดํฐ๊ฐ ์ด๋์ ์ ์ฅ๋ ๊ฑด์ง ๊ฐ๋ฆฌํด
num ๋ณ์ : ํ์ฌ ์ ์ฅ๋ ๋ฐ์ดํฐ์ ์๋ฅผ ์ ์ฅํจ
 ๐พ ์์ฑ์ 
ํฌ๊ธฐ๋ฅผ ์ ๋ฌ๋ฐ์์ ํด๋น ํฌ๊ธฐ๋งํผ ์ ์๋ฅผ ์ ์ฅํ  ์ ์๋ ๋ฐฐ์ด ์์ฑ 
front ๋ฐ rear๋ 0 ์ ์ ์ฅ
 ๐พ  isEmpty; ํ๊ฐ ๋น์ด์๋์ง ๊ฒ์ฌ
num๊ฐ 0์ด๋ฉด true ๋ฐํ 
๊ทธ๋ ์ง ์์ผ๋ฉด false ๋ฐํ 
 ๐พ isFull; ํ๊ฐ ๊ฐ๋ ์ฐจ์๋์ง ๊ฒ์ฌ
๋ฐฐ์ด์ ํฌ๊ธฐ๊ฐ num๋ ๊ฐ์ผ๋ฉด true ๋ฐํ 
๊ทธ๋ ์ง ์์ผ๋ฉด false ๋ฐํ
๐พ enQueue; ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ์ฐ์ฐ 
์ ์ฅํ  ์ซ์๋ฅผ ํ๋ ์ ๋ฌ๋ฐ๊ณ  
ํ๊ฐ ๊ฐ๋ ์ฐผ์ผ๋ฉด ๊ฐ๋์ฐผ๋ค๊ณ  ์ถ๋ ฅ 
๊ทธ๋ ์ง ์์ผ๋ฉด ํ์ฌ rear์ ์์น์ ๋ฐฐ์ด์ ์ ๋ฌ๋ฐ์ ์ซ์๋ฅผ ์ ์ฅํ๊ณ  rear 1์ฆ๊ฐ ํ num 1 ์ฆ๊ฐ
 ๐พ deQueue; ๋ฐ์ดํฐ๋ฅผ ์ญ์ ํ๋ ์ฐ์ฐ 
ํ๊ฐ ๋น์ด์์ผ๋ฉด ๋น์ด์์ ์ด๋ผ๊ณ  ์ถ๋ ฅ 
๊ทธ๋ ์ง ์์ผ๋ฉด ํ์ฌ front์ ์์น์ ๋ฐฐ์ด์ ๊ฐ์ ๊บผ๋ด๊ณ  front 1์ฆ๊ฐ ํ num 1 ๊ฐ์ 
 ๐พ  display 
ํ์ ์ ์ฅ๋ ๋ชจ๋  ๋ฐ์ดํฐ๋ฅผ ์ถ๋ ฅํ๋ ๊ธฐ๋ฅ
๐๊ตฌํ ์ฝ๋
package stack;
public class Queue {
    private int front = 0;
    private int rear = 0;
    private int num = 0;
    private Integer[] queue;
    public Queue(int size) {
        this.size = size;
        queue =  new Integer[size];
    }
    int size;
    public boolean isEmpty(){
        if(num == 0) return true;
        else return false;
    }
    public boolean isFull(){
        if(num == size) return true;
        else return false;
    }
    public void enQueue(int x){
        if(isFull()) System.out.println("ํ๊ฐ ๊ฐ๋ ์ฐธ");
        else {
            queue[rear%size] = x;
            rear= (rear+1)%size;
            num++;
        }
    }
    public void deQueue(){
        if(isEmpty()) System.out.println("ํ๊ฐ ๋น์ด ์์");
        else {
            System.out.println(queue[front]);
            queue[front] = null;
            front++;
            num--;
        }
    }
    void display(){
        for (int i = 0; i < size; i++) {
            System.out.print("[" + queue[i] + "] ");
        }
        System.out.println();
    }
}'โก๐ฉโ๐ป โก > ยบ Java' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| [์๋ฃ๊ตฌ์กฐ] ๋ฆฌ์คํธ (List) ๊ตฌํ (Java) (0) | 2023.12.05 | 
|---|---|
| [Java] ์ฌ๊ท | ํ๋ ธ์ด ํ (0) | 2023.12.04 | 
| [Java] ์ฌ๊ท | ์ ํด๋ฆฌ๋ ํธ์ ๋ฒ(์ต๋ ๊ณต์ฝ์ ๊ตฌํ๊ธฐ) (0) | 2023.12.04 | 
| [์๋ฃ๊ตฌ์กฐ] ์คํ (Stack) ๊ตฌ์กฐ (Java) (3) | 2023.12.04 | 
| [Java] JSP, JDBC ์ค์ต 2 (0) | 2023.11.30 |