امتیاز موضوع:
- 0 رأی - میانگین امتیازات: 0
- 1
- 2
- 3
- 4
- 5
ايجاد گره هاي بيشتر در درخت ها
|
نویسنده |
پیام |
mn_nahvi
تازه وارد
ارسالها: 4
موضوعها: 4
تاریخ عضویت: اردیبهشت ۱۳۸۵
تشکرها : 0
( 0 تشکر در 0 ارسال )
|
ايجاد گره هاي بيشتر در درخت ها
دوستان سلام.
يه برنامه دارم مينويسم مشابه اون چيزي كه در موبايل ها هست. يعني برنامه اي كه شماره ها رو كه ميزنيد توي ديكشنري ميگره نزديك ترين لغت رو به شماره هايي كه وارد كرديد براتون مياد.
دارم اين برنامه رو با ساختاري مشابه ساختار درختي مينويسم. ولي توي استراكچرم 3 تا اشاره گر از خودش گذاشتم.
حالا كه ميخوام مثلا داده جديد رو بهش وارد كنم با يه تابع بازگشتي اين كار رو كردم. تابع داخل خودش خودش رو فراخوني ميكنه و پيش ميره و همينطوري شاخه هاي درخت افزايش پيدا ميكنه و ...
مي برنامه رو كه اجرا ميكنم البته با TC و تحت داس فقط 2 بار عمل پيمايش رو انجام ميده بعد ميپره بيرون شما ميدونيد مشكلش چيه؟ نميدونم توي فضاي پشته آدرسها بهم ميريزه كه اينطوري ميشه يا برنامه اشكال داره.
اين كد برنامه :
کد: #include<stdio.h>
#include<conio.h>
#include<stdlib.h>
/*class info{
char y;
int x;
};*/
struct dic{
dic *right;
dic *middle;
dic *left;
char data;
char IsAlive;
};
void insertNchar(dic *,int);
void readdic(dic *);
void main()
{
clrscr();
int num,i;
char La,Ra,Ma;
dic *mydic=new dic();
mydic->IsAlive=NULL;
Ma=0;
Ra=0;
La=0;
for(i=0;i<5;i++)
{
scanf("%d",&num);
insertNchar(mydic,num);
}
getch();
}
void insertNchar(dic *root,int number)
{
if(root->IsAlive==NULL)
{
root->IsAlive=1;
switch(number)
{
case 1:
root->left->data='a';
root->middle->data='b';
root->right->data='c';
break;
case 2:
root->left->data='d';
root->middle->data='e';
root->right->data='f';
break;
case 3:
root->left->data='g';
root->middle->data='h';
root->right->data='i';
break;
case 4:
root->left->data='j';
root->middle->data='k';
root->right->data='l';
break;
case 5:
root->left->data='m';
root->middle->data='n';
root->right->data='o';
break;
case 6:
root->left->data='p';
root->middle->data='q';
root->right->data='r';
break;
case 7:
root->left->data='s';
root->middle->data='t';
root->right->data='u';
break;
case 8:
root->left->data='v';
root->middle->data='w';
root->right->data='x';
break;
case 9:
root->left->data='y';
root->middle->data='z';
break;
}
root->left->IsAlive=NULL;
root->middle->IsAlive=NULL;
root->right->IsAlive=NULL;
}
else
{
insertNchar(root->left,number);
insertNchar(root->middle,number);
insertNchar(root->right,number);
}
}
void readdic(dic *root)
{
if(root->IsAlive==NULL)
{
printf("%c",root->left->data);
}
else
{
printf("%c",root->left->data);
readdic(root->left);
// readdic(root->middle);
// readdic(root->right);
}
}
|
|
۰۹-بهمن-۱۳۸۵, ۱۷:۳۵:۱۶ |
|
تشکر شده توسط : |
|
موضوعات مرتبط با این موضوع... |
موضوع |
نویسنده |
پاسخ |
بازدید |
آخرین ارسال |
|
[سوال] در مورد ساختن درخت هیپ |
fatima70 |
0 |
2,321 |
۲۳-اردیبهشت-۱۳۹۱, ۱۵:۲۵:۲۶
آخرین ارسال: fatima70
|
|
مرتب سازی یا استفاده از درخت Heap |
aliyarat |
1 |
3,846 |
۲۳-خرداد-۱۳۹۰, ۱۲:۰۸:۱۸
آخرین ارسال: aliyarat
|
|
درخت |
mehraban |
0 |
2,108 |
۲۱-فروردین-۱۳۹۰, ۱۴:۰۶:۱۷
آخرین ارسال: mehraban
|
|
پیاده سازی هافمن در C++ با استفاده از درخت |
mehrdad372 |
2 |
6,843 |
۰۲-دى-۱۳۸۸, ۲۲:۲۵:۴۹
آخرین ارسال: lord_viper
|
|
پیمایش درخت ها به صورت گرافیکی در c,c++ |
giti123 |
0 |
4,107 |
۲۲-آبان-۱۳۸۷, ۱۹:۳۲:۲۶
آخرین ارسال: giti123
|
|
ايجاد تايمر |
amircivil |
9 |
5,521 |
۰۱-مرداد-۱۳۸۵, ۱۰:۵۱:۲۴
آخرین ارسال: amircivil
|
کاربرانِ درحال بازدید از این موضوع: