728x90
반응형
스택은 “쌓다” 라는 의미로 데이터를 차곡차곡 쌓아 올린 형태의 자료구조 이다.
💡 스택의 특징
- 맨 마지막 위치(top)에서만 자료를 추가, 삭제, 추출 할 수 있음.
- Last In First Out (후입선출) 구조.
- 가장 최근의 자료를 찾아오거나 히스토리를 유지하고 무를 때 사용할 수 있음.
- 함수의 메모리는 호출 순서에 따른 stack구조.
- jdk 클래스 : Stack
import array.MyArray;
public class MyArrayStack {
int top;
MyArray arrayStack;
public MyArrayStack()
{
top = 0;
arrayStack = new MyArray();
}
public MyArrayStack(int size)
{
arrayStack = new MyArray(size);
}
public void push(int data)
{
if(isFull()){
System.out.println("stack is full");
return;
}
arrayStack.addElement(data);
top++;
}
public int pop()
{
if (top == 0){
System.out.println("stack is empty");
return MyArray.ERROR_NUM;
}
return arrayStack.removeElement(--top);
}
public int peek()
{
if (top == 0){
System.out.println("stack is empty");
return MyArray.ERROR_NUM;
}
return arrayStack.getElement(top-1);
}
public int getSize()
{
return top;
}
public boolean isFull()
{
if(top == arrayStack.ARRAY_SIZE){
return true;
}
else return false;
}
public boolean isEmpty()
{
if (top == 0){
return true;
}
else return false;
}
public void printAll()
{
arrayStack.printAll();
}
}
728x90
반응형
'🗂️ 컴퓨터 과학(CS) > 자료구조(data structure)' 카테고리의 다른 글
[자료구조] 제네릭(generic) (0) | 2023.08.28 |
---|---|
[자료구조] 큐(Queue) (0) | 2023.08.28 |
[자료구조] 연결 리스트 (LinkedList) (0) | 2023.08.28 |
[자료구조] 배열(Array) (0) | 2023.08.28 |
[자료구조] 자료구조에 대하여 (0) | 2023.08.28 |