[(성대)전자전기프로그래밍실습] 보고서8
- 최초 등록일
- 2008.07.07
- 최종 저작일
- 2008.06
- 17페이지/ 어도비 PDF
- 가격 4,000원
소개글
이전에 배웠던 데이터 구조인 배열(Array)과 연결 리스트(Linked list)를 이용하여 자주 사
용하고 있는 데이터 타입인 스택(Stack)과 큐(Queue)를 구현해본다
목차
1. Introduction
2. Problem Statement
① Describe what is the problem.
② Describe how do you solve the problem.
③ Draw a flowchart of your algorithm
3. Implementation
4. Result
5. Conclusion & Evaluation
6. Source Code (with suitable comments)
본문내용
실습1
1. Introduction
이전에 배웠던 데이터 구조인 배열(Array)과 연결 리스트(Linked list)를 이용하여 자주 사
용하고 있는 데이터 타입인 스택(Stack)과 큐(Queue)를 구현해본다
2. Problem Statement
① Describe what is the problem.
연결 리스트를 이용한 스택과 큐 구현
스택을 위한 함수는 push(), pop(), deleteStack()의 세가지 함수를 생각할 수 있으며, 큐를
위한 함수는 enque(), deque(), deleteQue()의 세가지 함수를 생각할 수 있다.
STACK
우리는 이미 연결 리스트를 구현해 보았다. 이 연결리스트를 이용하면, 스택의 구현은
매우 간단하게 이루어질 수 있다. NODE 의 데이터 구조는 리스트 에서 사용하였던 것과
같은 것을 사용한다. 즉,
typedef struct list_node {
struct list_node *link;
int data;
} NODE;
NODE *top = 0;
여기서 “top”이 stack pointer 이며, 항상 맨 위에 있는 node 에 대한 pointer 이다. 이
변수의 값을 “0”으로 초기화하여 비어있는 stack 을 나태낸다.
int push(NODE **top_ptr, int i_data);
Push 함수는 stack 에 새로운 data (node) 하나를 stack 의 맨위에 넣는 것을 말한다.
Push 는 연결 리스트에서 구현하였던 함수 중에서 headInsert()를 이 용하여 구현할 수
있다. 즉, head pointer 를 stack pointer (top)로 사용하면 된다. 이 함수는 새로운
데이터를 성공적으로 넣었을 경우 1 을 return 하고, 그렇지 않으면 0 을 return 한다.
int pop(NODE **top_ptr, int *i_data);
Pop 함수는 stack 의 맨 위에서 data (node) 하나를 꺼내는 것을 말한다.
참고 자료
없음