본문 바로가기
프로그래밍 언어/자료구조

5.큐(Queue) 구현

by lroot 2022. 5. 27.
728x90
반응형

Queue의 특징

- 맨 앞(front)에서 자료를 꺼내거나 삭제하고, 맨 뒤(rear)에서 자료를 추가 함

- First In First Out (선입선출) 구조

- 일상 생활에서 일렬로 줄 서 있는 모양

- 순차적으로 입력된 자료를 순서대로 처리하는데 많이 사용되는 자료구조

- 콜센터에 들어온 문의 전화, 메세지 큐 등에 활용됨

- jdk 클래스 : ArrayList

 

LinkedList를 이용한 Queue 구현

- MyListQueue.java

interface Queue{
public void enQueue(String data);
public String deQueue();
public void printAll();
}

public class MyLinkedQueue extends MyLinkedList implements Queue{

MyListNode front;
MyListNode rear;


@Override
public void enQueue(String data) {

MyListNode newNode;
if(isEmpty()) {
newNode = addElement(data);
front = newNode;
rear = newNode;
}
else {
newNode = addElement(data);
rear = newNode;
}

System.out.println(newNode.getData()+ " added ");

}

@Override
public String deQueue() {

if(isEmpty()) {
return null;
}

String data = front.getData();
front = front.next;

if(front == null) {
rear = null;
}

return data;

}

@Override
public void printAll() {
printAll();

}

}

'프로그래밍 언어 > 자료구조' 카테고리의 다른 글

4.스택(Stack) 구현  (0) 2022.05.27
3.연결 리스트(LinkedList)구현  (0) 2022.05.27
2.배열(Array) 구현  (0) 2022.05.27
1.여러가지 자료구조(선형/비선형)  (0) 2022.05.26

댓글