이 진 트 리 만 들 기 (재 귀적 + 순차 적 옮 겨 다 니 기)
1208 단어 데이터 구조
(1) 자체 입력 데이터 요소, 참조 형식 또는 2 급 포인터
class treeNode
{
public:
int value;
treeNode *left;
treeNode *right;
};
// +
void createBinaryTree(treeNode *&root) //
{
int num;
cin >> num;
if (num != -1) // -1
{
root = new treeNode;
root->value = num;
createBinaryTree(root->left);
createBinaryTree(root->right);
}
else
root = nullptr;
}
// :1 2 3 -1 -1 4 -1 -1 5 6 -1 -1 -1
// : :123456 :324165 :342651
/*
//
void createBinaryTree_ptr(treeNode **root)
{
int num;
cin >> num;
if (num != -1)
{
*root = new treeNode;
(*root)->value = num;
createBinaryTree_ptr(&((*root)->left));
createBinaryTree_ptr(&((*root)->right));
}
else
*root = nullptr;
}
*/
(2) 배열 이나 vector 형 참 을 입력 합 니 다.
void createBinaryTree_vector(treeNode *&root, vector::iterator &it)
{
if ((*it) != -1)
{
root = new treeNode;
root->value = *it;
createBinaryTree_vector(root->left, ++it);
createBinaryTree_vector(root->right, ++it);
}
else
root = nullptr;
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
정수 반전Udemy 에서 공부 한 것을 중얼거린다 Chapter3【Integer Reversal】 (예) 문자열로 숫자를 반전 (toString, split, reverse, join) 인수의 수치 (n)가 0보다 위 또는 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.