๐์คํ์ด๋?
ํ์
์ ์ถ('LIFO') ๋ฐฉ์์ผ๋ก ๊ฐ์ฅ ์ต๊ทผ์ ๋ค์ด์จ ๋ฐ์ดํฐ๊ฐ ๊ฐ์ฅ ๋จผ์ ๋๊ฐ๋ค
๋ฐ์ดํฐ๋ฅผ ์ฝ์
์ญ์ ํ๋ ์ฐ์ฐ์ด ํ์ชฝ์์๋ง ์งํ๋จ
๐์คํ ๊ตฌํ
๋ฐฐ์ด์ ์ด์ฉํด์ ์ซ์๋ฅผ ์ฌ๋ฌ๊ฐ ์ ์ฅํ ์ ์๊ฒ ๋ณ์ ์์ฑ
๋ฐฐ์ด์ ์ง์ ์ ๊ทผํด์ ์ซ์๋ฅผ ์ ์ฅํ ์ ์์ผ๋ฉด ์๋๊ธฐ ๋๋ฌธ์ ์ ๊ทผ ์ ์ด์๋ก ์ ์ด
์ซ์๋ฅผ ์ด๋๊น์ง ์ ์ฅํ๋์ง ๊ฐ๋ฆฌํค๋ ๋ณ์ top ์์ฑ
๐พ ์์ฑ์
ํฌ๊ธฐ๋ฅผ ์ ๋ฌ๋ฐ์์ ํด๋น ํฌ๊ธฐ๋งํผ ์ ์๋ฅผ ์ ์ฅํ ์ ์๋ ๋ฐฐ์ด ์์ฑ
top์ -1 ์ ์ฅ
๐พ isEmpty
์คํ์ ๊ฐ์ด ๋ชจ๋ ๋น์ด์๋์ง ํ์ธ
top์ด -1์ด๋ฉด true๋ฅผ ๋ฐํ
๊ทธ๋ ์ง ์์ผ๋ฉด false๋ฅผ ๋ฐํ
๐พ isFull
์คํ์ ๊ฐ์ด ๋ชจ๋ ์ ์ฅ๋์ด ์๋์ง ํ์ธ
top์ด ๋ฐฐ์ด์ ํฌ๊ธฐ๋ณด๋ค 1์์ผ๋ฉด true ๋ฐํ
๊ทธ๋ ์ง ์์ผ๋ฉด false๋ฅผ ๋ฐํ
๐พ peek
์ ์ผ ๋ง์ง๋ง์ ์ ์ฅ๋ ๊ฐ ํ์ธ
์ ์ผ ๋ง์ง๋ง์ ์ ์ฅ๋ ๊ฐ์ ๋ฐํ
๐พ push
๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ์ฐ์ฐ
์คํ์ด ๊ฐ๋์ฐจ ์์ง ์์ผ๋ฉด
top์ 1์ฆ๊ฐํ๊ณ ํด๋น ์ธ๋ฑ์ค ๋ฒํธ์ ๋ฐฐ์ด์ ๋ฐ์ดํฐ ์ ์ฅ
๐พ pop
๋ฐ์ดํฐ๋ฅผ ์ญ์ ํ๋ ์ฐ์ฐ
top ์ธ๋ฑ์ค ๋ฒํธ์ ๋ฐฐ์ด์ ๊ฐ์ ๊บผ๋ด๊ณ
top ์ธ๋ฑ์ค ๋ฒํธ์ ๋ฐฐ์ด์ ๊ฐ์ ๋น์์ฃผ๊ณ
top์ 1 ๊ฐ์
๐พ display
์คํ์ ์ ์ฅ๋ ๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ ์ถ๋ ฅํ๋ ๊ธฐ๋ฅ
๐๊ตฌํ ์ฝ๋
package stack;
public class Stack {
int size;
int top = -1;
private int[] stack;
public Stack(int size) {
this.size = size;
stack = new int[size];
}
boolean isEmpty(){
if(top == -1) return true;
else return false;
}
boolean isFull(){
if(top == size-1) return true;
else return false;
}
public int peek(){
return stack[top];
}
public void push(int x){
if(this.isFull()){
System.out.println("์คํ์ด ๊ฐ๋ ์ฐธ");
}
else {
top = top + 1;
stack[top] = x;
}
}
public int pop(){
if(isEmpty()){
System.out.println("์คํ์ด ๋น์ด ์์");
return -1;
}
else {
int x = stack[top];
top--;
return x;
}
}
void display(){
for (int i = 0; i <= top; i++) {
System.out.print("[" + stack[i] + "] ");
}
System.out.println();
}
}
'โก๐ฉโ๐ป โก > ยบ Java' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[์๋ฃ๊ตฌ์กฐ] ํ (Queue) ๊ตฌํ (Java) (0) | 2023.12.04 |
---|---|
[Java] ์ฌ๊ท | ์ ํด๋ฆฌ๋ ํธ์ ๋ฒ(์ต๋ ๊ณต์ฝ์ ๊ตฌํ๊ธฐ) (0) | 2023.12.04 |
[Java] JSP, JDBC ์ค์ต 2 (0) | 2023.11.30 |
[Java] JSP, JDBC ์ค์ต (0) | 2023.11.30 |
[Java] ์คํธ๋ฆผ(Stream) (0) | 2023.11.29 |