본문 바로가기

Programming/Data Structure

[자료구조] C언어 연결리스트 스택 구현

반응형

- 배열로 스택을 구현할 수 있지만 고정된 크기를 가진다.

- 연결리스트는 스택의 크기에 재약이 없다.

- 다만, 포인터를 사용해 주소값을 저장하기 때문에 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
}

 

반응형