Devsecops

Queue(큐) 본문

Programming/자료구조

Queue(큐)

Futurism 2022. 12. 10. 06:47
728x90

1. FIFO구조
2. 원형 큐로 구현함
3. 가득 차면 큐가 비어있는 경우, 1개 부족하게 차면 가득 찬 경우로 정의한다(비어있는경우와 가득찬 경우를 구분하기 위함)

- is full, is empty를 확실하게 정의를 하고 가야한다.

 

 


public class Que {
public static void main(String[] args) {
	Act ac = new Act(5);
    ac._insert(10);
    ac._insert(20);
    ac._insert(30);
    ac._insert(40);
    ac._delete();
    ac._delete();
    ac._delete();
    ac._insert(50);
    ac._insert(30);
    ac._insert(40);
    ac._insert(50);
    ac._delete();
    ac._delete();
    ac._delete();
    ac._delete();
    ac._delete();
    ac._delete();

    for (int i = 0; i < ac.ary.length; i++)
        System.out.println(ac.ary[i]);
	}
}

 

public class Act {
int front = 0;
int back = 0;
int[] ary; // 선언만 하고 할당x

Act(int n) {
    ary = new int[n+1];
}

void _insert(int in) {
    if((front+1)%ary.length == back) {        //가득 찬 경우를 정의(is full)
        System.out.println("데이터 꽉참");
    }
    else {
        ary[front] = in;
        front++;
        if(front == ary.length)
            front = 0;

    }
}

void _delete() {
    if(back == front) {        // 비어있는 경우를 정의(is empty)
        System.out.println("데이터 없음");
    }
    else if(back == ary.length-1) {
        ary[back] = 0;
        back = 0;
    }
    else {
        ary[back] = 0;
        back++;
    }
}
}
728x90

'Programming > 자료구조' 카테고리의 다른 글

Hash_Map(해쉬 맵)  (0) 2022.12.19
Linked_List(연결 리스트)  (0) 2022.12.14