Sidewinder


World


FishMusic


LaughingBaby


Monday, July 14, 2008

java Stack Test

자바 reverse 스택

public class StackTest

{
public static void main( String[] args )
{
Stack stack = new Stack(6);// stack의 최고 크기 설정

stack.push( '1' );
stack.push( '2' );
stack.push( '3' );
stack.push( '4' );
stack.push( '5' );
stack.push( '6' );

System.out.println("First array elements are: "+stack.pop());
char s;// char형으로 수정
do {
s = stack.pop();
System.out.print("Second array elements are: ");
System.out.println(s);
}
while ( s!=('1') );//문자값 비교로 수정
}
}
//====================================================
//second array 디스플레이가 좀 어색해요. 뭐가 문젠지..
//그리고 import 하지않고 저 클래스에 직접 쓰고 싶어요.

//지금은 실행 됩니다..
//문제 점은 String형으로 함수를 호출하고 char으로 받았기 때문에 발생했습니다.
class Stack {
private int maxSize;

private char[] stackArray;

private int top;

public Stack(int s) {
maxSize = s;
stackArray = new char[maxSize];
top = -1;
}

public void push(char j) {
stackArray[++top] = j;
}

public char pop() {
return stackArray[top--];
}

public char peek() {
return stackArray[top];
}

public boolean isEmpty() {
return (top == -1);
}

public boolean isFull() {
return (top == maxSize - 1);
}
}

문]
안녕하세요.배열만들고 reverse해서 디스플레이만 하면 되거든요.스텍을 이용해서 재정렬했으면 해서요.
정렬전:1,2,3,4,5
정렬후:5,4,3,2,1
이런식으로요.제가 하던건..
이걸 import java.util.Stack; 대신에 썼더니 안되더라구요..

No comments:

Post a Comment