리뷰

프로그래밍에서 스택 정의

프로그래밍에서 스택 정의

스택은 최신 컴퓨터 프로그래밍 및 CPU 아키텍처에서 사용되는 함수 호출 및 매개 변수의 배열 또는 목록 구조입니다. 뷔페 식당이나 식당의 접시 더미와 유사하게, 더미의 요소는 스택의 맨 처음부터 "마지막으로 처음부터 끝까지"또는 LIFO 순서로 추가되거나 제거됩니다.

스택에 데이터를 추가하는 프로세스를 "푸시"라고하며 스택에서 데이터를 검색하는 것을 "팝"이라고합니다. 이는 스택 맨 위에서 발생합니다. 스택 포인터는 스택의 범위를 나타내며 요소가 스택에 밀리거나 튀어 나오면서 조정됩니다.

함수가 호출되면 다음 명령어의 주소가 스택으로 푸시됩니다.

함수가 종료되면 주소가 스택에서 튀어 나와 해당 주소에서 실행이 계속됩니다.

스택에 대한 조치

프로그래밍 환경에 따라 스택에서 수행 할 수있는 다른 작업이 있습니다.

  • Peek : 요소를 실제로 제거하지 않고 스택에서 최상위 요소를 검사 할 수 있습니다.
  • 스왑 : "교환"이라고도하며 스택의 두 최상위 요소의 위치가 바뀌고 첫 번째 요소는 두 번째 요소가되고 두 ​​번째 요소는 최상위 요소가됩니다.
  • 복제 : 맨 위에있는 요소가 스택에서 튀어 나와 스택에 두 번 밀려 원래 요소의 복제본이 만들어집니다.
  • 회전 : "롤"이라고도하며 스택에서 순서대로 회전하는 요소 수를 지정합니다. 예를 들어, 스택의 상위 4 개 요소를 회전하면 최상위 요소가 4 번째 위치로 이동하고 다음 3 개 요소가 한 위치 위로 이동합니다.

스택은 "마지막 입력 (LIFO) ".

예 : C 및 C ++에서 로컬 (또는 자동)으로 선언 된 변수는 스택에 저장됩니다.