完全二叉搜索树回溯法

#include <iostream>
#include <algorithm>
using namespace std;
int A[100], T[100];
int n, cnt;

void solve(int root) {//结点
	if (root > n)
		return ;
	solve(root * 2);
	T[root] = A[cnt++];
	solve(root * 2 + 1);
}

int main() {
	cin >> n;
	for (int i = 0; i < n; i++)
		cin >> A[i];
	sort(A, A + n);
	solve(1);
	for (int i = 1; i <= n; i++)
		cout << T[i] << " ";
	return 0;
}
posted @ 2022-02-18 16:56  帝宝单推人!  阅读(37)  评论(0)    收藏  举报