트 리 는 확장 순서 에 따라 이 진 트 리 와 비 재 귀적 사 이 를 만 듭 니 다.
                                            
 2199 단어  잡다 한 문제
                    
#include 
#include
 using namespace std;
 struct node
 {
     char data;
     node *leftchild;
     node *rightchild;
};
void Create(node *&p)//           
{
    char ch;
    cin>>ch;
    if (ch=='#')
        p=NULL;
    else
    {
        p=new node;
        p->data=ch;
        Create(p->leftchild);
        Create(p->rightchild);
    }
}
void PreOrder(node *root)
{
    stacks;
    node *p;
    s.push(NULL);
    p=root;
    while(!s.empty())
    {
        if (p==NULL)
        break;
       cout<data<rightchild!=NULL)//        ,        
            s.push(p->rightchild);
       if (p->leftchild!=NULL)//        ,               
          p=p->leftchild;
       else//       ,            
          {
           p=s.top();
           s.pop();
          }
    }
}
void PosrOrder(node *root)//               (    ,    ,            ),             ,           ,        ,          ,     ,            
//          ,         ,                 ,              ,          ,                ,           
{
    node *p=root;
    stacks;
   while(p||!s.empty())//         ,            (             ),    p      ,      p             ,    ,    p            ,        
    {
       if (p)
       {
        s.push(p);
        p=p->leftchild;
       }
       else//   ,          
       {
           p=s.top();
           s.pop();
           cout<data<rightchild;
       }
    }
}
int main()
{
    node *root;
    Create(root);
    cout<        제 가 먼저 옮 겨 다 니 는 코드 가 복잡 하 다 는 것 은 의심의 여지 가 없습니다.
void PreOrderTraverse(BTNode *T, Status (*visit)(ElementType e))
{
    BTNode *stack[MAX_SIZE], *p;
    int top = -1;
    if(T != NULL)    {
        stack[++top] = T;
        while(top > -1)
        {
            p = stack[top--];
            visit(p->data);
            if(p->rchild != NULL)
            {
                stack[++top] = p->rchild;
            }
            if(p->lchild != NULL)
            {
                stack[++top] = p->lchild;
            }
        }
    }
}
                이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
bzoj 3289 Mato 의 파일 관리 (모 팀 알고리즘 + 구간 역순 수)1. 나무 모양 배열 로 역순 수 를 구한다.그 사고방식 은 트 리 배열 의 각 노드 에 대응 하 는 구간 이 있 고 각 노드 는 표 시 된 아래 표 시 된 구간 안의 숫자 (또는 노드 아래 표 시 된 숫자 보다 작...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.