반응형
- 배열로 스택을 구현할 수 있지만 고정된 크기를 가진다.
- 연결리스트는 스택의 크기에 재약이 없다.
- 다만, 포인터를 사용해 주소값을 저장하기 때문에 4바이트의 공간이 더 필요하게 된다.
1. 연결리스트 스택 구현을 위한 연결리스트 생성
typedef struct stack { // 연결리스트 노드 구조체 정의
char data; // data를 저장하는 변수
struct stack* link; // 다음 노드의 주소값을 저장할 포인터 변수
} stack; // typedef으로 struct 이름 지정
stack* top; // 스택의 맨 위 노드 주소를 저장하는 포인터 변수
2. 스택 상태 확인 함수
int isEmpty() {
if(top == NULL) {
printf("Error : Stack is Empty. \n"); // 에러메시지 출력
return 1; // true
}
return 0; // unless false
}
반응형
'Programming > Data Structure' 카테고리의 다른 글
[리눅스][C언어] 배열 포인터 (0) | 2022.04.13 |
---|---|
C언어로 리스트 구현하기 (배열) (0) | 2022.04.11 |
C언어 구조체란? (0) | 2022.04.10 |
포인터, 배열, 구조체 (0) | 2022.03.31 |
C언어를 활용한 스택자료구조 구현 (포인터 개념 제외) (0) | 2022.03.30 |