스택은 사실 아래로 자란다(push,pop) - CS:APP 3.4.4
·
CS:APP
후입선출(LIFO: Last-In, First-Out) 자료 구조x86-64 아키텍처에선 주소가 높은 곳에서 낮은 곳으로 자람스택의 꼭대기는 항상 %rsp 레지스터가 가리킴%rsp는 push할 때 내려가고, pop할 때 올라감명령어 요약명령어동작 설명pushq S%rsp -= 8, M[%rsp] = Spopq DD = M[%rsp], %rsp += 8- q는 quad-word, 즉 8바이트- 모든 연산은 8바이트 정렬을 따름📍 pushq %rax 실행 전%rsp = 0x108[0x108] ↑ (아직 안 쓴 공간)📍 pushq %rax 실행 후%rsp = 0x100[0x100] = %rax의 값📍 popq %rbx 실행 후%rsp = 0x108[0x100] = (0x123 등, 값은 여전히 남아 있..
[Python] 스택 (stack) 기본개념
·
자료 구조
데이터를 임시 저장할 때 쓰는 자료구조입, 출력 순서는 후입 선출 LIFO(Last In First Out) 방식개요위와 같이, 가장 나중에 추가된 데이터가 가장 먼저  선형 자료구조 임실제 예로는 접시 쌓기나, 웹 브라우저의 뒤로가기 기능이 있음주요 특성LIFO 구조 :마지막에 들어온 요소가 가장 먼저 나감단순성 :삽입(push)와 삭제(pop) 연산만 지원제한된 접근 :스택 내에서는 오직 top 요소만 접근 가능, 임의 접근(random access)가 불가능기본 연산스택 자료구조에서는 아래의 연산을 지원push(item) : 스택의 top에 새 데이터를 삽입pop() : top 요소를 제거하고 반환, 비어있으면 오류 발생peek() 또는 top() : 스택의 top 요소를 제거하지 않고 반환isEm..