Từ 1 tới 2 trên tổng số 2 kết quả

Đề tài: Cho xin ý kiến về duyệt cây nhị phân không đệ quy

  1. #1
    Ngày gia nhập
    12 2012
    Bài viết
    0

    Mặc định Cho xin ý kiến về duyệt cây nhị phân không đệ quy

    Tình hình là đang là bài này : Viết hàm duyệt cây theo thứ tự Node – Left –Right (PreOrder) không dùng đệ qui mà không biết đúng hay sai mấy anh cho e xin ý kiến
    Code:
    #include<stdio.h>
    #include<conio.h>
    
    typedef struct BST_Node
    {
    	int info;
    	BST_Node *pLeft;
    	BST_Node *pRight;
    }BST_NODE;
    
    typedef BST_NODE *BS_TREE;
    BS_TREE t;
    
    typedef struct NODE
    {
    	int info;
    	struct NODE *next;
    }Node;
    
    typedef Node *Stack;
    Stack s;
    
    void Push(Stack &s,int x)
    {
    	Node *p;
    	p=new Node;
    	p->info=x;
    	p->next=s;
    	s=p;
    }
    
    int Pop(Stack &s)
    {
    	int x;
    	Node *p=s;
    	x=p->info;
    	s=s->next;
    	delete p;
    	return x;
    }
    
    void InitStack(Stack &s)
    {
    	s=NULL;
    }
    
    void Init(BS_TREE &t)
    {
    	t=NULL;
    }
    
    BST_NODE *TaoNut(int x)
    {
    	BST_NODE *p;
    	p=new BST_NODE;
    	p->info=x;
    	p->pLeft=NULL;
    	p->pRight=NULL;
    	return p;
    }
    
    int ThemNut(BS_TREE &t, int x)
    {
    	if(t)
    	{
    		if(t->info==x)
    			return 0;
    		if(t->info>x)
    			return ThemNut(t->pLeft,x);
    		else
    			return ThemNut(t->pRight,x);
    	}
    	t=TaoNut(x);
    	return 1;
    }
    
    void PreOrder(BS_TREE &t)
    {
    	if(t!=NULL)
    	{
    		printf("%d ",t->info);
    		PreOrder(t->pLeft);
    		PreOrder(t->pRight);
    	}
    }
    
    void NLR(BS_TREE &t)
    {
    	Stack *s;
    	Node *p;
    	Node *q=pRoot;
    	s.push(pRoot);
    	do
    	{
    
    	}while(s!=NULL);
    }
    
    void InOrder(BS_TREE &t)
    {
    	if(t!=NULL)
    	{
    		InOrder(t->pLeft);
    		printf("%d ",t->info);
    		InOrder(t->pRight);
    	}
    }
    
    void main()
    {
    	
    	Init(t);
    	printf("Tao cay: ");
    	ThemNut(t,5);
    	ThemNut(t,1);
    	ThemNut(t,3);
    	ThemNut(t,7);
    	ThemNut(t,6);
    	ThemNut(t,9);
    //	PreOrder(t);
    	NLR(t);
    	printf("\nPhan tu tren cay tang dan: ");
    	InOrder(t);
    	getch();
    }
    Attached Files Attached Files

  2. #2
    Ngày gia nhập
    12 2012
    Bài viết
    0

    Code:
    void NLR(BS_TREE &t)
    {
    	Stack *s;
    	Node *p;
    	Node *q=pRoot;
    	s.push(pRoot);
    	do
    	{
    
    	}while(s!=NULL);
    }
    Bạn cho hỏi pRoot của bạn là biến nào? lấy từ đâu?

Các đề tài tương tự

  1. Trình duyệt Opera, giúp bạn trải nghiệm tốt hơn khi duyệt wap
    Gửi bởi hailuacuibep trong diễn đàn Software (Phần mềm) | Ebooks
    Trả lời: 2
    Bài viết cuối: 02-01-2013, 12:12 PM
  2. Làm sao hiện thị kết quả tìm kiếm trong file.xml lên trình duyệt
    Gửi bởi kjkjzo trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 1
    Bài viết cuối: 14-08-2012, 09:31 AM
  3. Cách thức duyệt tiền tự trên cây khi duyệt từ con trái nhất rồi sang anh em ruột phải?
    Gửi bởi tyrant trong diễn đàn Thắc mắc CTDL & Giải thuật
    Trả lời: 0
    Bài viết cuối: 14-09-2011, 10:53 AM
  4. Tìm kiếm nhị phân thắc mắc về Duyệt tuần tự ?
    Gửi bởi laphong10th trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 3
    Bài viết cuối: 11-11-2010, 10:47 PM
  5. Tạo và duyệt cây nhị phân tìm kiếm ?
    Gửi bởi nanosi trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 4
    Bài viết cuối: 04-06-2008, 10:29 PM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn