تبلیغات
دانلود سورس پروژه های مختلف برنامه نویسی، آموزش برنامه نویسی - پیاده سازی درخت BST در سی پلاس
دانلود سورس پروژه های مختلف برنامه نویسی، آموزش برنامه نویسی
دانلود رایگان سورس پروژه
سایت برنامه نویسی تک کدر takcoder.ir


آموزش برنامه نویسی با استفاده از نوین ترین روش و ارائه پروژه های نمونه و مجموعه عظیم سورس کدهای آماده برای شما دوستان

مدیر سایت : Yahya Taherzadeh
نویسندگان
نظرسنجی
زبان برنامه نویسی مورد علاقه شما؟






پیاده سازی یک درخت BST در سی پلاس با استفاده از الگوریتم های موجود در ساختمان داده که میتونه خیلی کمکتون کنه در پیاده سازی برنامه های ساختمانداده.
#include<stdio.h>
#include<conio.h>
///tarife ye file sarayand tabee be esme malloc
#include<malloc.h>

   struct node{
    int info;    /// meghdar ra migirad az noe adad sahih bare namayash va zakhire va jostojo
    struct node *right;    ///esharegar be node samte rast x<head
    struct node *left;     /// esharegar be node samte chap x>head
};

    typedef struct node *BST;

 //  peyda kardane yek node

 BST find(BST t, int x)

    {
     if (t==NULL) return NULL;
    if (x<t->info) return find(t->left,x);
    else
    if (x>t->info) return find(t->right,x);
    else
    return t;
}
 ///vared kardane nod
BST insertnode(BST t, int x)

    {

        if(t==NULL) {
         t=(node*)malloc(sizeof(node));
        if(t==NULL) printf("\n fazaye zakhire tamam shod !!");

            else {
             t->info = x;
            t->left = t->right = NULL;
        }

    }

    else

        if (x<t->info) {
         t->left=insertnode(t->left,x);
    }

    else
     if (x>t->info) {
         t->right=insertnode(t->right,x);
    }

    return t;
}
 /// hazfe yek node dar derakht
BST deletenode(BST t, int x)

    {
     BST tmpcell;

         if(t == NULL) {
         printf("\n meghdar yaft nashod!!mojod nist ");
    }

    else
    if(x < t->info) t->left = deletenode(t->left,x);
    else
    if(x > t->info) t->right = deletenode(t->right,x);
    else

         if(t->right && t->left){



    }


        else {
         tmpcell = t;
        if(t->left == NULL) t = t->right;
        else if(t->right == NULL) t = t->left;
        free(tmpcell);
        printf("\n hazf anjam shod.");
    }

    return t;
}

// tabe asli**********************************************************************
 void main()

 {
     BST tree, pos;
    char ans;
    int val;
    tree=NULL;

           printf("\n***[ Binary Search Tree(BST) ]******[ derakhte jostojoye dodoyi*** ]");

       while(1){



         printf("\n\n\n********************( LOTFAN YEK GOZINE ENTEKHAB KONID: )***********************");

         printf("\t*******************( [1]__Insert(darj) )***********************\n");

        printf("\t*******************( [2]__Delete(hazf) )***********************\n");

        printf("\t*******************( [3]__Search(jostojo) )********************\n");

        printf("\t*******************( [4]__Exit )*******************************\n");
        printf("*******************************************************************************\n\t\t");
         ans = getche();
        switch(ans)

            {
             case '1':

                {
                 printf("\n meghdar ra vared konid: ");
                 scanf("%d",&val);
                 tree=insertnode(tree,val);
            }

            break;
              case '2':

                {

                     if(tree!=NULL) {
                     printf("\n kodam meghdar hazf shavad? : ");
                     scanf("%d",&val);
                     tree=deletenode(tree,val);
                }

            break;
            case '3':

                {

                    if (tree!=NULL) {
                     printf("\n kodam meghdar jostojo shavad? : ");
                     scanf("%d",&val);
                     pos=find(tree, val);
                     if (pos!=NULL)
                     printf("\n %d meghdar yaft shod",pos->info);
                    else
                     printf("\n %d meghdar yaft nashod",val);
                }


                    else {
                     printf("\n BST khali ast!!");
                }

                getch();
            }



            break;
            case '4':

            default :

                {
                 printf("\n\n lotfan az 1 ta 4 vared konid !!");
                 getch();
            }

            break;
        }

        //clrscr();
    }

}
}










نوع مطلب : آموزش، پروژه های رایگان، سی| سی پلاس پلاس، پروژه های تکمیل شده، طراحی الگوریتم، ساختمان داده، 
برچسب ها : درخت، ساختمان داده، الگوریتم، طراحی، درخت دودویی، BST، درخت bst،
لینک های مرتبط :
Yahya Taherzadeh
سه شنبه 19 آذر 1392
شنبه 14 مرداد 1396 07:39 ب.ظ
First off I want to say superb blog! I had a quick question that I'd like
to ask if you do not mind. I was interested to know how you center yourself
and clear your thoughts before writing. I have had a difficult time clearing my mind in getting my ideas out there.

I do enjoy writing but it just seems like the first 10 to 15 minutes are generally lost simply just trying to figure out how to begin. Any recommendations or tips?
Thank you!
جمعه 6 مرداد 1396 06:32 ب.ظ
It's actually very complex in this full of activity life to listen news on TV, so I only use the web for that purpose, and obtain the newest information.
شنبه 24 تیر 1396 07:44 ب.ظ
I do consider all the ideas you have introduced in your post.

They're really convincing and can certainly work.
Still, the posts are too brief for starters.

May just you please extend them a little from
subsequent time? Thank you for the post.
دوشنبه 22 خرداد 1396 04:49 ب.ظ
Nice post. I was checking constantly this blog and I am impressed!
Extremely useful information specially the last part
:) I care for such info much. I was looking for this certain info for a very long time.
Thank you and good luck.
دوشنبه 1 خرداد 1396 12:38 ب.ظ
Hello! This is kind of off topic but I need some help from an established
blog. Is it difficult to set up your own blog? I'm not very techincal but
I can figure things out pretty quick. I'm thinking about making my own but
I'm not sure where to begin. Do you have any points or suggestions?
Appreciate it
جمعه 15 اردیبهشت 1396 09:39 ب.ظ
Hi there, everything is going sound here and ofcourse
every one is sharing information, that's really good, keep up writing.
جمعه 1 اردیبهشت 1396 04:37 ب.ظ
I know this website gives quality depending articles and extra data, is there any other website which offers these stuff in quality?
یکشنبه 27 فروردین 1396 09:42 ب.ظ
This paragraph presents clear idea designed for the new visitors of blogging, that genuinely how to do running a blog.
جمعه 25 فروردین 1396 07:45 ب.ظ
What a stuff of un-ambiguity and preserveness of precious familiarity
on the topic of unexpected emotions.
یکشنبه 20 فروردین 1396 12:25 ب.ظ
Great delivery. Solid arguments. Keep up the good work.
 
لبخندناراحتچشمک
نیشخندبغلسوال
قلبخجالتزبان
ماچتعجبعصبانی
عینکشیطانگریه
خندهقهقههخداحافظ
سبزقهرهورا
دستگلتفکر




صفحات جانبی
آمار وبلاگ
تاییدیه پرداخت
تبلیغات
به سایت تک کدر خوش آمدید