Stack(쌓다) 구조 및 원리
안녕하세요. 알렉스 입니다. 이번에는 Stack의 구조와 사용 방법에 대해서 알아 보겠습니다.
일단 상자가 있다고 합시다. 이제 이 상자안에 과일을 넣을 것입니다. 과일은 박스에 담겨있고 박스의 가로세로 높이는 상자의 가로세로 높이와 같습니다. (가장 아래의 과일 상자를 끄낼려면 그 위에 있는 상자를 모두 빼야 합니다.)
첫번째 상자로 사과를 넣습니다. 이때 컴퓨터 용어로 push라고 합니다. 즉 상자에 추가한다는 뜻입니다. 위 사진에서는 사과 상자를 추가하는 것입니다.
두번째는 바나나 상자 입니다. 바나나 상자는 사과 상자 위쪽에 놓여져 있습니다.
세번째와 네번째는 각각 토마토와 망고 입니다.
이로써 상자에는 사과, 바나나, 토마토, 망고 박스가 들어있습니다. 이때 상자에서 과일 박스를 뺄때 가장먼저 잡히는 상자는 망고 입니다.
위 사진처럼 망고 상자를 빼는 행위를 pop라고 합니다. 저는 사과를 좋아하는데 사과박스를 빼기 위해서는 그 위의 바나나, 토마토, 망고박스를 빼야 합니다.
사과 박스 위쪽의 모든 박스를 뺀 후에 사과상자를 뺄수가 있습니다. 이처럼 Stack는 가장 먼저 들어간 Element가 가장 나중에 나오는 구조 입니다. 즉 먼저 들어간 것은 다른 모든 Elements들이 나갈때까지 제거할수 없는 경우를 말합니다.
댓글
댓글 쓰기