Problem z algorytmem sortowania w drzewie BST

0

Witam. Mój problem dotyczy algorytmu sortowania w drzewie BST. Visual nie wyrzuca żadnego błędu podczas kompilacji. W konsoli natomiast wyświetlana jest wartość 0033E3F8 po czym wyskakuje komunikat o błędzie. W czym błąd?

Algorytm sortowania:

 void sort(BST *root) {
      while(root != NULL) {
         BST *pomoc = elementMIN(root);
         cout << pomoc << " ";
         root = pomoc;
         delete pomoc;
      }
   }

Algorytm elemenMIN (najmniejszy element w drzewie):

 BST* elementMIN(BST *root) {
      if(root->lewy != NULL)
         return elementMIN(root->lewy);
      else
         return root;
   }
0
         root = pomoc;
         delete pomoc;

teraz root wskazuje na "skasowaną" pamięć.

0
 BST* sort(BST *korzen) {
		BST *pomoc = NULL;
		if(korzen != NULL) {
			while(korzen != NULL) {
				elementMIN(korzen);
				int pomoc2 = korzen->element;
				cout << pomoc2 << " ";
				del(member2(korzen, pomoc2));
			}
		}
		return korzen;
	}

gdzie del:

void del(BST *root)
KOD FUNKCJI 
delete root;

member2:

 BST* member2(BST *start, int wartosc) {
		// jesli element jest szukana wartoscia to odnalezlismy ja
		if (start->element == wartosc) 
			return start;

		// jesli szukana wartosc jest mniejsza to idziemy do lewego poddrzewa - o ile istnieje
		else if (wartosc < start->element && start->lewy != NULL) 
			return member2(start->lewy, wartosc);

		// jesli szukana wartosc jest wieksza to idziemy do prawego poddrzewa - o ile istnieje     
		else if (wartosc > start->element && start->prawy != NULL) 
			return member2(start->prawy, wartosc);

		return NULL;
	}

Teraz wyświetla 4 liczby z 6 i wyrzuca błąd. W czym błąd?

0

_13th_Dragon - tak jak w temacie wątku, próbuję napisać algorytm sortowania w drzewie BST.

Tak jak tutaj np: http://aragorn.pb.bialystok.pl/~mirkowsk/asd/wyklady/W01_II.html

0

Musisz zrozumieć jedną rzecz w drzewie BST rekordy już są posortowane;

void sort(BST *root)
  {
   if(root!=0)
     {
      sort(root->lewy);
      cout<<root->element<<endl;
      sort(root->prawy);
     }
  }

1 użytkowników online, w tym zalogowanych: 0, gości: 1