상세 컨텐츠

본문 제목

[java] 동적 자료구조 (Dynamic Data Structure) 연습문제#1

java

by ~지우~ 2021. 7. 14. 11:25

본문

728x90

오늘은 「java_an_introduction_to_problem_solving_and_programming_6th_edition」 909페이지 14번 문제를 풀어보겠습니다.



<문제>

출처: java_an_introduction_to_problem_solving_and_programming_6th_edition   

 

Linked List를 구현하는 코드를 작성하면 됩니다.

addToQueue(item)는 인자 item을 큐의 마지막에 더하는 메소드입니다.

removeFromQueue()는 첫번째 큐에 저장되어 있는 데이터를 삭제하는 메소드입니다.

isEmpty는 큐가 비었으면 true, 아니면 false를 반환하는 메소드입니다.

 

모든 메소드는 linkedlist에 내제된 함수(add, remove, get 등)를 갖고 구현할 수 있습니다.

 

 

import java.util.LinkedList;

public class LinkedQueue extends LinkedList<String>{
	private static String first;
	private static int count =0;
	static LinkedList<String> list = new LinkedList<String>();
	
	public static void addToQueue(String item) {
		list.add(item);
		if(count>0) first = list.getFirst();
		count++;
	}
	
	public static void removeFromQueue() {
		if(count==0) System.out.println("null");
		else {
			list.removeFirst();
			first = list.getFirst();
			count--;
		}
	}
	public boolean isEmpty() {
		if(count==0) return true;
		else return false;
	}
	
	public static void main(String[] args) {
		addToQueue("aa");
		addToQueue("bb");
		addToQueue("cc");
		removeFromQueue();
		for(int i=0;i<count;i++) {
			System.out.println(list.get(i));
		}
		System.out.println("first node:" + first);
	}

}
728x90

관련글 더보기

댓글 영역