Stack
: LIFO로 처리되는 자료구조
꽉 찬 스택에 요소를 삽입 할 때 스택에 요소가 넘쳐서 발생하는 에러인 Stack Buffer Overflow
의 그 Stack.
push: 입력 연산
pop: 출력 연산
peek: 조회 연산
Linked List
를 활용한 Stack ADT
구현class Node() {
var item: Int? = null
var next: Node? = null
constructor(item: Int, next: Node?) : this() {
this.item = item
this.next = next
}
}
class Stack() {
var last: Node? = null
var item: Int? = null
fun push(item:Int) {
this.item = item
this.last = Node(item, this.last)
}
fun pop(): Int? {
val item = this.last?.item
this.last = this.last?.next
this.item = this.last?.item
return item
}
fun peek(): Int? {
return this.item
}
}