Bài tập Cây - Cấu trúc dữ liệu

Thảo luận trong 'Lập trình máy tính' bắt đầu bởi white.smut, 25 Tháng chín 2013.

  1. Offline

    white.smut

    • Administrator

    • Loading: |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||] 99% Completed - Error: Disconnected. Please try again!
    Số bài viết:
    842
    Đã được thích:
    425
    Điểm thành tích:
    450
    Đề bài: Tạo cây nhị phân như hình, xuất ra tiền tố, trung tố, hậu tố , số nút, số lá và số nhánh?
    [IMG]
    Mã:
    #include<conio.h>
    #include<stdio.h>
    int Nut=0,La=0;
    struct    TTree{
            char Data;
            TTree *left;
            TTree *right;
            };
    TTree *Q,*P,*T;
     
    void Taonut(char C)
    {
        P=new TTree;
        P->Data=C;
        P->left=NULL;
        P->right=NULL;
    }
     
    void PreOrder(TTree *T) //(G-T-P)
    {
        TTree *P;
        P=T;
        if (P!=NULL)
        {
            printf("%3c",P->Data);
            PreOrder(P->left);
            PreOrder(P->right);
        }
     
    }
     
    void InOrder(TTree *T) //(T-G-P)
    {
        TTree *P;
        P=T;
        if(P!=NULL)
        {
            InOrder(P->left);
            printf("%3c",P->Data);
            InOrder(P->right);
        }
    }
     
    void PosOrder(TTree *T) //(T-P-G)
    {
        TTree *P;
        P=T;
        if (P!=NULL)
        {
            PosOrder(P->left);
            PosOrder(P->right);
            printf("%3c",P->Data);
            Nut++;
        }
    }
     
    int Sola(TTree *T) //(T-P-G)
    {
        TTree *P;
        P=T;
        if (P!=NULL)
        {
            Sola(P->left);
            Sola(P->right);
            if ((P->left==NULL)&&(P->right==NULL))
            La++;
        }
        return La;
    }
    void main()
    {
        clrscr();
        T=NULL;
        Taonut('A');
        T=P;
        Taonut('B');
        T->left=P;
        Q=P;
        Taonut('E');
        Q->left=P;
        Taonut('F');
        Q->right=P;
        Taonut('D');
        T->right=P;
        Q=P;
        Taonut('G');
        Q->left=P;
        Taonut('H');
        Q->right=P;
        Q=P;
        Taonut('I');
        Q->left=P;
        Taonut('J');
        Q->right=P;
        printf("\n\nTien to: ");
        PreOrder(T);
        printf("\n");
        printf("Trung to: ");
        InOrder(T);
        printf("\n");
        printf("Hau to: ");
        PosOrder(T);
        printf("\nSo nut: %d",Nut);
        printf("\nSo la: %d",Sola(T));
        printf("\nSo nhanh: %d",Nut-La);
        getch();
    }
    
    File đính kèm (đổi đuôi .TXT thành .CPP nhé):

    Các file đính kèm:

    • CAY.TXT
      Kích thước:
      1,4 KB
      Đọc:
      92
    VnDragon thích bài này.
  2. Offline

    HoangProduction

    • Đội cứu hộ máy tính

    • Đội Cứu Hộ Máy Tính(liên hệ khicó sự cố :01655375396)
    Số bài viết:
    360
    Đã được thích:
    402
    Điểm thành tích:
    450
    khi nào thi liên hệ anh share bộ đề cho tham khảo .
  3. Offline

    white.smut

    • Administrator

    • Loading: |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||] 99% Completed - Error: Disconnected. Please try again!
    Số bài viết:
    842
    Đã được thích:
    425
    Điểm thành tích:
    450
    ok anh..

Chia sẻ trang này

Advertising: Linux system admin | nukeviet | nukeviet 4 | Upload ảnh miễn phí