티스토리 뷰

반응형

문제:

하나의 배열 dual_stack[MAX_SIZE]에서  개의 스택을 운영하는 이중 스택에 대하 번째 스택인 스택_1의 push_1(), pop_1() 함수와  번째 스택인 스택_2 push_2(), pop_2() 함수를 각각 작성하라스택_1 bottom 1, 스택_2 bottom MAX_SIZE이며  스택에서 stack_full  stack_empty 조건을 반드시 체크해야 한다


예시 답안:

풀이 및 코드는 다양할 수 있습니다

void push_1 (int *top1, int top2, element x) { 
	if( top1 == (top2 - 1) ){
		printf(“스택 포화 에러\n”);
		return;
	}
	else {
	top1++;
	dual_stack[top1] = x;
	}
}

element pop_1 (int *top1) {
	if ( top1 == -1 ) {
		printf( “스택 공백 에러\n”);
		exit(1);
	}
	else return dual_stack[top1--];
}

void push_2 (int *top2, int top1, element x) { 
	if( top2 == (top1 + 1) ){
		printf( “스택 포화 에러\n”);
		return;
	}
	else {
	top2--;
	dual_stack[top2] = x;
	}
}

element pop_2 (int *top2) {
if ( top2 == MAX_SIZE ) {
		printf( “스택 공백 에러\n”);
		exit(1);
	}
	else return dual_stack[top2++];
}

 

반응형
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함