///////
Search

Stack

날짜
2022/09/28
// Stack 구현 import java.util.Arrays; import java.util.Scanner; public class HW_0927_2 { public static void main(String[] args) { Stack stack = new Stack(); stack.push('A'); stack.show(); stack.push('B'); stack.show(); stack.push('C'); stack.show(); stack.pop(); stack.show(); stack.pop(); stack.show(); stack.peek(); stack.show(); stack.clear(); stack.show(); } } class Stack { Scanner sc = new Scanner(System.in); int arrSize; int count = 0; char data; char[] arr = new char[arrSize]; public void setArrSize(int arrSize) { // 스택사이즈 입력받고 배열 초기화 arr = new char[arrSize]; } public Stack() { System.out.print("스택 사이즈를 입력하시오. "); // 스택 배열 arrSize 입력받음 arrSize = sc.nextInt(); setArrSize(arrSize); // 입력받은 arrSize로 배열 초기화하는 setArrSize 호출 } public void pop() { if(count == 0){ System.out.println("삭제할 문자가 없습니다."); } else { System.out.println("삭제된 문자: " + arr[count - 1]); } arr[count-1] = '\0'; // char 의 default 값: \0 으로 설정 count--; } public void push(char item) { arr[count] = item; System.out.println("입력된 문자:" + item); count++; } public boolean isEmpty() { if (arr == null){ return true; } return false; } public void clear() { System.out.println("스택이 초기화 되었습니다."); arr = null; } public void peek() { System.out.println("엿보려는 문자: " + arr[count-1]); } public void show() { if(arr != null) { System.out.println("Stack elements: " + Arrays.toString(arr)); } else { System.out.println("Stack is empty!"); } } }
Java
복사