본문 바로가기

Programming/Data Structure

C언어를 활용한 스택자료구조 구현 (포인터 개념 제외)

반응형
#include<stdio.h>
int arr[10];
int idx = 0;

void push(int n)
{
   if(idx>=10)
   {
      printf("오류: 배열이 꽉 찼습니다.\n");
      return;
   }
      
   arr[idx] = n;
   idx++;
   
   return;
}


int Top(void) {
	if (idx < 0) {
		printf("오류: 배열이 비었습니다.\n");
		return;
	}
	return arr[idx-1];
}


int pop() {
	if (idx < 0) {
		printf("오류: 배열이 비었습니다.\n");
		return;
	}
	
	idx--;
	
	return arr[idx];
		
	
}



void clear(void)
{
 idx = 0;
	return;
   }
	
void StackPrint(void) {
	int i;
	for (i=0;i<idx;i++){
		
		printf("%s %d %s %d \n", "arr[",i,"] = ", arr[i]);
		
	}
	return;
}




int main(void)
{
	
	
    push(1);
	push(2);
	push(3);
	push(4);
	push(5);
	push(6);
	push(7);
	push(8);
	push(9);
	push(10);
	push(11);	
	
	StackPrint();
	
   return 0;
}
반응형