Computer Science/Algorithm

[Stack/C] 간단한 스택 구현

ruming 2024. 12. 3. 18:04

 

C언어를 이용한 간단한 스택 구현

스택사이즈 : 100

 

#include <stdio.h>
#define stackSize 100
int stack[stackSize];
int top = -1;
int isFull(){
	if(top >= stackSize-1){
		printf("Stack is Full\n");
		return 1;
	}
	else	return 0;
}
int isZero(){
	if(top==-1){
		printf("Stack is empty\n");
		return 1;
	}else	return 0;
}
void printStack(){
	int i;
	for(i=0; i<=top; i++){
		printf("%d ", stack[i]);
	}
	printf("\n");
}
int pop(){
	if(!isZero()){
		return stack[top--];
	}
}
void push(int item){
	if(!isFull()){
		stack[++top] = item;
	}
	printStack();
}
int main(void){
	int data, an;
	char re;
	printf("Push data : ");
	scanf("%d", &data);
	push(data);
	int i=0;
	while(1){
		printf("push : 1 or pop : 2 (exit : 0)\n");
		scanf("%d", &an);
		if(an == 1){
			printf("Push data : ");
			scanf("%d", &data);
			push(data);
		}else if(an == 2){
			pop();
			printStack();
		}else{
			return 0;
		}
	}
	return 0;
}

 

'Computer Science > Algorithm' 카테고리의 다른 글

[정렬] 버블정렬(Bubble Sort) C언어  (0) 2021.05.16