कैसे एक BST के न्यूनतम तत्व को खोजने के लिए?

वोट
0

मैं c ++ करने के लिए अभी शुरुआत कर रहा हूँ और एक BST के न्यूनतम तत्व की खोज के साथ समस्या हो रहा हूँ। BST इस तरह से कार्यान्वित किया जाता है:

class Tree{
struct Node {
int Element;
Node *Left, *Right;
Node(int Element) : Element(Element), Left(0), Right(0){}
};

Node *Root;
void InOrder(void(*Action)(int&), Node *Current);
void Destroy(Node *Current);

public:

Tree() : Root(0){}
void Insert(int Element);
void InOrder(void(*Action)(int&)) {InOrder(Action,Root);}
void Destroy() {Destroy(Root);}
};

Inorder, नष्ट और सम्मिलित तरीकों इस तरह लागू किया जाता है:

void Tree::Insert(int Element) {
Node *NewElement = new Node(Element);
if(!Root) Root = NewElement;

 else {
 Node *Previous, *Current = Root;

  while(Current) {
   Previous = Current;
   if(Element < Current->Element) Current = Current->Left;
   else Current = Current->Right;
  }

 if(Element < Previous->Element) Previous->Left = NewElement;
 else Previous->Right = NewElement;
 }
}

void Tree::InOrder(void(*Action)(int&),Node *Current) {
  if(Current) {
  InOrder(Action,Current->Left);
  Action(Current->Element);
  InOrder(Action,Current->Right);
}

}

void Tree::Destroy(Node *Current) {
 if(Current) {
  Destroy(Current->Left);
  Destroy(Current->Right);
  delete Current;
 }
}

और मुख्य कार्य और समारोह जो मैं संख्या मुद्रित करने के लिए का उपयोग इस तरह दिखेगा:

void Print(int &e) {
 cout << e << endl;
}

int main() {
 Tree t;
 while(1) {
 int Number;
 cout << Insert number (insert 0 to end): ;
 cin >> Number;
 if(Number == 0) break;
 t.Insert(Number);
 }

 t.InOrder(Print);
 t.Destroy();
 getch();
}

क्या आपने देखा हो सकता है, inorder विधि को भी लागू किया गया है, हो सकता है यह किसी तरह से इस्तेमाल किया जा सकता मेरी समस्या ... मेरा बुरा अंग्रेजी के लिए खेद है सुलझाने में मदद करने के लिए: /

24/01/2011 को 19:54
का स्रोत उपयोगकर्ता
अन्य भाषाओं में...                            


1 जवाब

वोट
4

न्यूनतम मूल्य पहले मूल्य कि उपरोक्त कोड में कार्रवाई कॉल किया जाएगा। जाओ जहाँ तक आप यह कर सकते के रूप में छोड़ दिया है, और कम से कम मूल्य आप पाते हैं जाएगा ...

24/01/2011 को 19:59
का स्रोत उपयोगकर्ता

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more