1) 스택의 생성
Stack<DataType> Stack_name = new Stack<>();
2) 스택 클래스
public Element push(Element item); // 데이터 추가
public Element pop(); // 최근에 추가된(Top) 데이터 삭제
public Element peek(); // 최근에 추가된(Top) 데이터 조회
public boolean empty(); // stack의 값이 비었는지 확인, 비었으면 true, 아니면 false
public int seach(Object o); // 인자값으로 받은 데이터의 위치 반환
1) 배열로 구현 하였을 때
장점
단점
2) 연결리스트(Linked List)로 구현하였을 때
장점
단점
후위 표기식을 스택으로 구현하자면, 아래의 식이 있을때
ex) ABC*+DE/-
if(input_result[i]>=65&&input_result[i]<=90) { st.push(number[input_result[i]-65]); } else { double num1 = st.pop(); double num2 = st.pop(); double result_tmp =0 ; switch(input_result[i]) { case 42 : result_tmp = num2*num1; break; case 43 : result_tmp = num2+num1; break; case 47: result_tmp = num2/num1; break; case 45: result_tmp = num2-num1; break; }