تبليغات
تبلیغات در دانشجو کلوب محک :: موسسه خيريه حمايت از کودکان مبتلا به سرطان ::
جستجوگر انجمن.براي جستجوي مطالب دانشجو کلوپ مي توانيد استفاده کنيد 
برای بروز رسانی تاپیک کلیک کنید
 
امتیاز موضوع:
  • 1 رأی - میانگین امتیازات: 5
  • 1
  • 2
  • 3
  • 4
  • 5

جستجوی باینری(دودویی)-غیربازگشتی-c++

نویسنده پیام
  • ♔ αϻἰг κнаη ♔
    آفلاین
  • مدیرکل  سایت
    *******
  • ارسال‌ها: 16,105
  • تاریخ عضویت: تير ۱۳۹۰
  • اعتبار: 1090
  • تحصیلات:زیر دیپلم
  • علایق:مبارزه
  • محل سکونت:ایران زمین
  • سپاس ها 34951
    سپاس شده 49155 بار در 13535 ارسال
  • امتیاز کاربر: 551,587$
  • حالت من:حالت من
ارسال: #1
جستجوی باینری(دودویی)-غیربازگشتی-c++

کد:
void BST::remove(const T &item)
{
bool found = false;
BinNodePtr parent = 0, temp = myRoot;
while(!found && temp){
if(item < temp->data){
parent = temp;
temp = temp->left;
}else if(item > temp->data){
parent = temp;
temp = temp->right;
}else{
found = true;
}
}
if(!found){
cout << "Item not found." << endl;
}else{
if(temp->left && temp->right){
BinNodePtr tempSucc = temp->right;
parent = temp;
while(tempSucc->left){
parent = tempSucc;
tempSucc = tempSucc->left;
}
temp->data = tempSucc->data;
temp = tempSucc;
}
BinNodePtr subtree = temp->left;
if(subtree == 0){
subtree = temp->right;
}if(parent == 0){
myRoot = subtree;
}else if(parent->left == temp){
parent->left = subtree;
}else{
parent->right = subtree;
}
delete temp;
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41

جستجوی باینری(دودویی)-غیربازگشتی-c++

۵-۷-۱۳۹۰ ۰۴:۱۵ عصر
جستجو یافتن همه ارسال های کاربر اهدا امتیازاهدای امتیاز به کاربر پاسخ پاسخ با نقل قول
 سپاس شده توسط senior engineer ، aroosak

برای بروز رسانی تاپیک کلیک کنید


پرش به انجمن:

کاربرانِ درحال بازدید از این موضوع: 1 مهمان