FIFO : Fist in First Out
add(T item)
remove()
peek()
isEmpty()
import java.util.NoSuchElementException;
/**
* InnerQueueJava
*/
class Queue<T> {
class Node<T> { //๊ฐ์ ํ์
์ ๊ฐ๋ ๋
ธ๋ ์ ์ธ
private T data;
private Node<T> next; //๋ค์ ๋
ธ๋
public Node(T data) {
this.data = data;
}
}
private Node<T> first; //queue๋ ๋
ธ๋๋ฅผ ์ ๋ค๋ก ์์์ผ ํจ
private Node<T> last;
public void add(T item){
Node<T> t = new Node<T>(item);
if(last != null){//๋ง์ง๋ง ๋
ธ๋๊ฐ ์์ ๋
last.next = t;
}
last = t; // last์ ํ์ดํ๋ฅผ ๋ง์ง๋ง์ผ๋ก! ํ์!
if (first==null){ //๋ง์ง๋ง ๋
ธ๋๊ฐ ์์ ๋-- ์ฒซ ๋
ธ๋ ์ถ๊ฐ์ผ ๋
first = last;
}
}
public T remove() { //๊ฐ์ฅ ์ ๋ฐ์ดํฐ ๋ฐํ
if (first==null) {
throw new NoSuchElementException();
}
T data = first.data;
first = first.next;
if (first==null) {
last = null;
}
return data;
}
public T peek() {
if (first==null) {
throw new NoSuchElementException();
}
return first.data;
}
public boolean isEmpty(){
return first == null;
}
}
public class QueueJava {
public static void main(String[] args) {
Queue<Integer> q = new Queue<Integer>();
q.add(1);
System.out.println(q.peek());
}
}
import java.util.LinkedList;
import java.util.Queue;
//์๋ฐ๋ก ํ ๊ตฌํํ ๋๋ LinkedList์ Queue ๋ชจ๋ import
import java.util.Scanner;
public class queue_10845 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int N = sc.nextInt(); //๋ช
๋ น์ ์
String cmdque;
int cmdNum=0;
int size=0;
Queue<Integer> que = new LinkedList<>();
//์๋ฐ์์ queue๋ linkedList๋ฅผ ์ด์ฉํด ๊ตฌํ
//add, offer = push
//poll = ๊ฐ์ ๋ฐํํ๊ณ ์ ๊ฑฐ
//peek = ๊ฐ ๋ฐํ
//remove
for(int i=0; i<N; i++){
cmdque = sc.next();
if("push". equals(cmdque)){
cmdNum = sc.nextInt();
que.add(cmdNum);
size++;
}
if("pop".equals(cmdque)){
if(que.isEmpty()== true){
System.out.println("-1");
}
else{
System.out.println(que.poll());
size--;
}
}
if("size".equals(cmdque)){
System.out.println(size);
}
if("empty".equals(cmdque)) {
if(que.isEmpty()== true){
System.out.println("1");
}
else System.out.println("0");
}
if ("front".equals(cmdque)) {
System.out.println(que.peek());
}
if ("back".equals(cmdque)) {
System.out.println(cmdNum);
}
}
sc.close();
}
}
[์๋ฃ๊ตฌ์กฐ ์๊ณ ๋ฆฌ์ฆ] Queue๊ตฌํํ๊ธฐ in Java
https://youtu.be/W3jNbNGyjMs?si=PvSoMWNfrhc0Ws56
๋ฐฑ์ค QUEUE https://www.acmicpc.net/problem/10845