본문 바로가기

반응형
★ 10. 연결 리스트를 이용한 스택 구현하기 연결 리스트를 이용한 스택 구현 전과 마찬가지로 각 기능별 함수로 구현되었습니다. // # 연결 리스트를 이용한 스택 ##include #include using namespace std;typedef int element; struct stackNode { element data; // # 다음 노드를 가리키는 포인터 변수 # stackNode *link; }; stackNode* top; // # 스택이 비어 있으면 true 아니면 false를 반환 # int isEmpty() { // # top 포인터가 NULL이면 스택이 비어 있는 것 # return (top == NULL); } // # 스택의 TOP에 원소를 삽입 # void push(element item) { // # 새로운 노드 공간을 .. 더보기
★ 9. 배열을 이용한 스택 구현하기 배열을 이용한 스택 구현 // # 배열을 이용한 스택 ##include using namespace std; // # 배열 크기 # #define MAX_STACK_SIZE 5 typedef int element; // # 스택에 원소를 저장하기 위한 배열 # element stack[MAX_STACK_SIZE]; // # TOP의 위치 # int top = -1; // # 처음엔 맨 아래를 위치하기 때문에 '-1' # // # 스택 초기화 함수 # void initialize() { // # TOP 인덱스를 -1로 주어 스택을 비움 # top = -1; } // # 스택이 비어 있으면 true 아니면 false를 반환 # int isEmpty() { // # TOP 인덱스가 -1이면 true # ret.. 더보기
★ 8. 스택 스택 스택은 제일 먼저 삽입(push)된 데이터가 맨 아래에 쌓여 있고가장 최근에 삽입된 데이터가 맨 위에 쌓이는 구조를 가지고 있습니다. 데이터를 삭제(pop)할 때에는 가장 최근에 삽입한 데이터를 꺼내는구조이고 스택에서의 입출력은 맨 위에서만 일어나고중간에서는 데이터를 삽입 또는 삭제를 할 수 없는 구조입니다.~ ★ 스택은 가장 최근에 들어온 데이터가 가장 먼저 나가기 때문에[후입선출] : LIFO( Last - In, First - Out : 라이포 리포)라고도 합니다. 스택에서 원소의 삽입과 삭제가 일어나는 곳을 TOP라 하고 스택의다른 한쪽 끝, 즉 TOP의 반대쪽 끝을 BOTTOM이라고 합니다. 다음 포스팅에서 코드적인 부분으로올리겠습니다. 더보기

반응형