2016-12-09 1 views
0

저는 스택을 데이터 구조로 연구했으며 LIFO (Last-In-First-Out) 규칙에 따라 작동한다는 것을 알고 있습니다. 스택의 마지막 요소뿐만 아니라 첫 번째 요소를 검색하도록 요청하는 문제가 발생했습니다. 경험 많은 사용자가 내 지식을 두 번 확인해주기를 원하기 때문에 스택의 어떤 요소가 첫 번째 요소인지 마지막 요소인지 알기위한 골자입니다.스택 데이터 구조의 첫 번째 요소와 마지막 요소는 무엇입니까?

예를 들어 1,2,3,4,5,6 순으로 스택을 푸시합시다. 스택의 첫 번째 두 요소는 무엇이며 마지막 두 요소는 무엇입니까?

+0

어려운 문제가 있습니다. 문제를 제기 한 사람은 모호하기 때문에 "처음"과 "마지막"을 정의해야합니다. 결국 LIFO는 마지막 항목이 첫 번째 항목임을 의미합니다. 그래서 그들은 선입 선출과 선출을 원하거나 마지막으로 그리고 마지막으로 원하니? 스택에 대해 이야기 할 때 "위쪽"과 "아래쪽"이라는 용어를 사용하는 것이 좋습니다. –

답변

2

실제 스택의 책처럼 위에서 아래로 스택을 생각하는 것이 도움이됩니다.

6 
5 
4 
3 
2 
1 

그래서 1과 2는 첫 번째 두 요소 (책)이며, 6, 5 마지막과 두번째입니다 : 당신은 스택에 책 1을 누르면처럼, 책 2-6 다음에, 당신의 스택이 보인다 끝까지. 책 6이 마지막 이었기 때문에 스택에서 처음으로 벗어났습니다 (pop 프로그래밍 언어). 그렇지 않으면 책이 쌓일 것입니다.

+0

그것은 하나의 해석입니다. 또한 6이 스택의 첫 번째 항목이라고 말하는 사람들을 알았습니다. "첫 번째"는 "스택에 배치 될 첫 번째 항목"을 의미합니까? 아니면 "스택에서 팝되는 첫 번째 항목"을 의미합니까? 필자의 경험으로 볼 때, 프로그래머의 대답은 둘 사이에서 균등하게 나뉩니다. –

+0

답변 해 주셔서 감사합니다. –

+0

LIFO의 확장 (및 대기열의 경우 FIFO)과 관련하여 내 설명은 두문자어와 일치합니다. – Kit

0

이 질문에 대한 의견이 다를 수 있습니다. 최선의 방법은 당면 문제의 요구 사항을 이해하는 것입니다. 온라인 심사 위원의 문제를 해결하는 경우와 마찬가지로 문제 진술/예제의 설명을 얻거나 전문 작업에서 문제를 해결할 경우 요구 사항 분석의 설명을 얻을 수 있습니다. 결국, 당신이 가정 한 문제를 해결할 수 있다면, 맨 앞의 요소를 첫 번째 요소 나 맨 아래 요소라고 부르는 것은 중요하지 않습니다.

관련 문제