Home » » Tim Nut Co Gia Tri Thuoc Khoang [a,b]

Tim Nut Co Gia Tri Thuoc Khoang [a,b]

Written By 1 on Thứ Bảy, 19 tháng 5, 2012 | 11:57


#include "stdafx.h"
#include <stdio.h>
#include<conio.h>

struct Node
{
    Node* pLeft;
    Node* pRight;
    int iX;
};

typedef Node* Tree;

Node* TaoNode(int X)

{
    Node* p = new Node;
    if (p == NULL)
      return NULL;
    p->pLeft = NULL;
    p->pRight = NULL;
    p->iX=X;
    return p;
}

void ThemNodeVaoCay(Node* p, Tree &c)

{

    if (c == NULL)//nếu cây rỗng

        c = p;

    else //cây khác rỗng

    {
        if (p->iX < c->iX)
            ThemNodeVaoCay(p,c->pLeft);
        else if (p->iX > c->iX)
            ThemNodeVaoCay(p,c->pRight);
        else
            return;
    }

}

void Nhap(Tree &c)

{
    int chon = 0;
    do
    {
        int x;

        printf("\n Nhap nut : ");

        scanf_s("%d",&x);

        Node* p = TaoNode(x);

        ThemNodeVaoCay(p,c);

        printf(" Nhap 1 de tiep tuc nhap nut !   ");

        scanf_s("%d",&chon);

    }while(chon==1);

}


// Xuat gia tri nut lon hon a va nho hon b
void Xuat(Tree c, int a, int b)

{
int dem=0;
    if (c!=NULL)

    {

        if (c->pLeft != NULL)

            Xuat(c->pLeft,a,b);

        if (a<c->iX && c->iX<b)
{
printf("\n nut %d co dia chi %d ",c->iX,&c);
}
        if (c->pRight != NULL)

            Xuat(c->pRight,a,b);

    }
}

void NhapXY(int &a, int &b)

{

    printf("Nhap a: ");

    scanf_s("%d",&a);

    printf("Nhap b: ");

    scanf_s("%d",&b);

}

void main()
{

    Tree c = NULL;

    Nhap(c);

    int a,b;

printf("\n Nhap khoang [a,b] : \n");
    NhapXY(a,b);
    printf("\n Dia chi nut thuoc khoang [%d,%d] : ",a,b);
    Xuat(c,a,b);

getch();
}

0 nhận xét:

Đăng nhận xét