스택(Stack) : 선입후출 혹은 후입선출 , LIFO 구조
시스템 스택에도 스택개념이 사용
스택구현
void printStack(); 스택출력
void stackFull(); 스택이 가득차 더이상넣을수 없음을 알리고, 스택요소들을 출력후 종료
student stackEmpty(); 스택이 비어 뺄수없음을 알리고, 에러값 반환
void push(student item); 스택 push
student pop(); 스택 pop 하고 값 반환
큐(Queue) : 선입선출, FIFO 구조
os의 스케쥴링 및 그래프 탐색 알고리즘 등에 사용
void printQueue();
student queueEmpty();
void addq(student item);
student deleteq();
void queueFull(student item);
함수의 구성은 스택과 동일하다.
하지만 큐는 front와 rear가 존재함으로써 rear에 계속해서 데이터가 들어오게 되면 front 쪽에서 데이터가 빠진 자리는
낭비되기 마련이다. 따라서 array shifting 을통해 큐가 정말꽉차지 않는 이상 계속해서 배열을 쓸수 있도록
하였다. 이러한 문제점을 원형큐를 통해 더 쉽게 해결할 수 있다.
'Data Structure' 카테고리의 다른 글
요셉의문제(Circular Linked List) (0) | 2020.06.14 |
---|---|
연결리스트(Linked List) (0) | 2020.06.10 |
중위표기식, 후위표기식(Infix, Postfix) (0) | 2020.06.08 |
스택을 이용한 미로찾기 (0) | 2020.06.08 |
원형 큐(Circular Queue) (0) | 2020.06.08 |