Beispiel #1
0
template<typename T>void BinaryTree<T>::WidthOrder(TNode<T> *Current){
    if(Current!=NULL){
        Queue<TNode<T>*> q;      // 队列
        q.EnQue(Current);
        TNode<T> * p;
        while(!q.IsEmpty()) {
            p = q.DeQue();   // 队首元素出队列
            cout<<p->info<<'\t';	          // 访问p结点
            if(p->lchild)
                q.EnQue(p->lchild);
            if(p->rchild)
                q.EnQue(p->rchild);
        }  						//后序访问根结点
    }
}
Beispiel #2
0
int main(int argc, const char * argv[]) {
    // insert code here...
   	int i;
    Queue<char> que;                             //缺省为18元素队列,可用17
    char str1[]="abcdefghijklmnop";//17个元素,包括串结束符
    que.MakeEmpty();
    for(i=0;i<17;i++) que.EnQue(str1[i]);
    if(que.IsFull()) cout<<"队满";
    cout<<"共有元素:"<<que.Length()<<endl;
    for(i=0;i<17;i++) cout<<que.DeQue();           //先进先出
    cout<<endl;
    if(que.IsEmpty()) cout<<"队空";
    cout<<"共有元素:"<<que.Length()<<endl;
    return 0;
}