Stack // Queue
본 자료는 5페이지 의 미리보기를 제공합니다. 이미지를 클릭하여 주세요.
닫기
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
해당 자료는 5페이지 까지만 미리보기를 제공합니다.
5페이지 이후부터 다운로드 후 확인할 수 있습니다.

소개글

Stack // Queue에 대한 보고서 자료입니다.

본문내용

e is empty");
elseSystem.out.println("가장 먼저 실행될 Program 은 "
+front.QItem+" 입니다.");
}
//---- 큐 모두 읽기 ----//
public void allpeek(){
QNode current=front;// current 은 가장 앞의 노드값을 가짐
if(isEmpty()){ //리스트가 비어 있는 경우
System.out.println("실행 할 Program 목록이 비어있습니다.
(Queue is empty)");
}
else{ //리스트를 읽음
System.out.println("현재 실행 대기중인 Program 목록");
do{ //적어도 한번은 아래 구문 실행
System.out.print(" " +current.QItem+" "); //현재노드 값 출력
current=current.link; //current 노드를 다음노드로 이동
}while(current.QItem != front.QItem); //front값과 같이안을때 까지 실행
}
}
//---- 큐가 비었는지 확인 ----//
public boolean isEmpty(){
return(front==null); //비어 있으면 true 를 리턴
}
}
//================ MAIN ================//
class CirListQ{
public static void main(String[] args){
CListQ myQueue = new CListQ();
String run;
System.out.println("=============== Program ==============");
System.out.println(" 1.NextWeb(추가) 2.PriorWeb(제거)");
System.out.println(" 3.View(보기) 4.AllView(모두보기)");
System.out.println(" 5.END(종료) ");
System.out.println("======================================");
while(true){
String s0=JOptionPane.showInputDialog("번호를 입력하세요.");
int num=Integer.parseInt(s0);
switch(num){
case 1:
String s1=JOptionPane.showInputDialog("실행하
고 싶은 Program을 입력하세요.(예:한글2007)");
run = s1;
myQueue.insert(run);
System.out.println("실행 할 Program " + run +
" 을 목록에 추가 하였습니다.");
System.out.println("");
break;
case 2:
myQueue.remove();
System.out.println("");
break;
case 3:
myQueue.peek();
System.out.println("");
break;
case 4:
myQueue.allpeek();
System.out.println("");
break;
case 5:
System.exit(0);
System.out.println("");
break;
default :
System.out.println("!!! 1~5까지 중에서 선택 하세요 !!!");
}
}
}
}
■ 결 론
본론에서 두 개의 소스를 주석을 통해서 설명 하였습니다. 본론에서 봄과 같이 이 소스는 다른 것과 차별화를 두었습니다. 먼저 스택을 살펴보겠습니다.
public void allpeek(){
StackNode current=top;
int count=0;
System.out.println("이전에 본 WebSite (최근 WebSite 순서부터)");
while(current != null){
if(count != 0) System.out.println(current.stackItem);
else System.out.println(current.stackItem + "
<--- 현재 보고 있는 WebSite");
current=current.link;
count++;
}
}
기존의 연결 리스트 스택은 이전에 사용자가 어떤 작업을 하였는지 나타나지 표현하여 주지 않지만, 이 함수는 지금까지 스택에 저장된 상황을 볼 수 있도록 하기 위해 추가 하였습니다. 이소스는 익스플로러 창의 뒤로 가기 기능을 표현하였기 때문에 사용자가 지금까지 봐왓던 화면을 모두 볼 수 있으면, 몇 번 뒤로 가기를 누르면 무엇이 나오겠구나 하는 상황을 한번에 파악 할 수 있는 장점을 가지고 있습니다.
다음은 큐에 대해 살펴보겠습니다.
//---- 큐 모두 읽기 ----//
public void allpeek(){
QNode current=front;// current 은 가장 앞의 노드값을 가짐
if(isEmpty()){ //리스트가 비어 있는 경우
System.out.println("실행 할 Program 목록이 비어있습니다.
(Queue is empty)");
}
else{ //리스트를 읽음
System.out.println("현재 실행 대기중인 Program 목록");
do{ //적어도 한번은 아래 구문 실행
System.out.print(" " +current.QItem+" "); //현재노드 값 출력
current=current.link; //current 노드를 다음노드로 이동
}while(current.QItem != front.QItem); //front값과 같이안을때 까지 실행
}
}
위 소스와 같이 큐도 모두 보기 기능을 추가하여, 실행 대기 중인 program 을 한눈에 볼수 있도록 하였습니다.
이 보고서에 작성된 큐는 기존의 것을 기반으로 두고 있지만, 각각의 장점을 합하여 작성 하였기 때문에 부분 보다는 본론의 소스 전체로 대신 하겠습니다.
이렇듯 스택과 큐는 현 생활은 물론이고 지금 사용하고 있는 컴퓨터의 기본 스케줄링에 중요한 부분에 많이 사용 되고 있습니다. 그 만큼 응용 범위가 넓기 때문에 간과하고 공부할 수 없는 중요한 부분이라고 할 수 있습니다.
이상으로 보고서를 마치겠습니다.

키워드

stack,   quene,   프로그램,   소스,   컴퓨터과,   stackQ
  • 가격2,000
  • 페이지수16페이지
  • 등록일2007.06.22
  • 저작시기2007.4
  • 파일형식한글(hwp)
  • 자료번호#416355
본 자료는 최근 2주간 다운받은 회원이 없습니다.
청소해
다운로드 장바구니