알고리즘 & 자료구조/자료구조-Java

package review1; import java.util.Deque; import java.util.LinkedList; public class Deque01 { //덱은 스택과 큐를 하나로 합쳐놓은 것과 같다. //즉 스택으로 사용이 가능하고, 큐로도 사용할 수 있다. //덱은 큐의 변형으로 양쪽 끝으로 추가/삭제가 가능하다. public static void main(String[] args) { Deque dq = new LinkedList(); dq.offerLast(1); dq.offerLast(5); dq.offerLast(4); dq.offerLast(2); System.out.println(dq); System.out.println(dq.peekFirst()); System.out.pr..
package review1; import java.util.PriorityQueue; import java.util.Queue; public class PriorityQueue01 { //우선순위큐는 우선순위가 높은 것을 먼저 꺼내게 된다. //우선순위큐는 저장공간을 배열을 사용하며 각 요소를 힙 자료구조의 형태로 사용한다. public static void main(String[] args) { Queue pq = new PriorityQueue(); //데이터 삽입 pq.offer(4); pq.add(3); pq.add(1); pq.add(5); pq.add(2); System.out.println(pq.peek()); //숫자가 낮을수록 우선순위가 높다. System.out.println(pq);..
package review1; import java.util.LinkedList; import java.util.Queue; public class Queue02 { public static void main(String[] args) { Queue queue = new LinkedList(); //Queue인터페이스의 구현체인 LinkedList 사용 //데이터 저장 queue.add(1); queue.offer(2); queue.offer(3); System.out.println("queue : "+queue); //첫번째 데이터 반환 System.out.println("queue.peek() : "+queue.peek()); System.out.println("queue.element() : "+q..
package review1; import java.util.ArrayList; public class QueueImplements { private ArrayList queue = new ArrayList(); //데이터 삽입 public void enqueue(T item){ queue.add(item); } //데이터 삭제 public T dequeue(){ if(queue.isEmpty()){ return null; } return queue.remove(0); } public boolean isEmpty(){ return queue.isEmpty(); } public void printAll(){ System.out.print("["); for(int i=0; i
package review1; import java.util.Stack; public class Stack02 { //스택은 LIFO (Last-in , First-out)의 구조이다. //즉 한쪽 끝에서만 자료를 넣을 수 있고 뺄 수 있다. //스택을 직접 구현할때는 데이터의 추가/삭제가 쉬운 LinkedList로 구현하는 것이 적절하다. public static void main(String[] args) { Stack stack = new Stack(); //데이터 삽입 stack.push(1); stack.push(3); stack.push(5); System.out.println(stack); //맨위에 쌓여있는 데이터반환(제일 마지막에 들어간 데이터 반환) System.out.println(s..
package review1; import java.util.ArrayList; public class StackImplement { private ArrayList stack = new ArrayList(); public void push(T item){ stack.add(item); } //데이터 삭제 public T pop(){ if(stack.isEmpty()){ return null; } return stack.remove(stack.size()-1); } public boolean isEmpty(){ return stack.isEmpty(); } //맨 위에 있는 데이터 반환 public T peek(){ return stack.get(stack.size()-1); } public void p..
신재권
'알고리즘 & 자료구조/자료구조-Java' 카테고리의 글 목록