본문 바로가기

코드백업

완전이진트리 전위, 중위, 후위 순회 - 배열구현

#include <stdio.h>
#include <stdlib.h>
int n;
int* tree;
void inorder(int idx, int maxn) {
	if(idx > maxn)return;
	inorder(idx*2, maxn);
	printf("%d ", tree[idx]);
	inorder(idx*2+1, maxn);
}

void preorder(int idx, int maxn) {
	if(idx > maxn)return;
	printf("%d ", tree[idx]);
	preorder(idx*2, maxn);
	preorder(idx*2+1, maxn);
}

void postorder(int idx, int maxn) {
	if(idx > maxn)return;
	postorder(idx*2, maxn);
	postorder(idx*2+1, maxn);
	printf("%d ", tree[idx]);
}

int main() {
	char input[100];
	scanf("%d\n%s", &n, input);
	tree = (int*)malloc(sizeof(int)*(n+1));
	for(int i = 0; i < n; i++) {
		tree[i+1] = input[i] - '0';
	}
	printf("tree inorder : ");
	inorder(1, n);
	printf("\ntree preorder : ");
	preorder(1, n);
	printf("\ntree postorder : ");
	postorder(1, n);
}

'코드백업' 카테고리의 다른 글

백업2  (0) 2025.05.22
콘솔 게임 코드 최종본  (0) 2025.05.12