fonsde Δημοσ. 29 Μαρτίου 2010 Δημοσ. 29 Μαρτίου 2010 θελω τον αλγοριθμο εισαγωγης ενος στοιχειου σε εναν heap με δεικτες. >typedef struct heap{ int key heap *pointer[2] }heap thnx
epersidi Δημοσ. 29 Μαρτίου 2010 Δημοσ. 29 Μαρτίου 2010 Από το βιβλίο δομών δεδομένων του Sahni (ότι καλύτερο για δομές δεδομένων σε C++). Υποθέτω ότι μιλάς για σωρό μεγίστων (MaxHeap). Insert(const int x) { // Insert x into the max heap if(CurrentSize == MaxSize) throw NoMem(); // no space // find place for x //i starts at new leaf and moves up tree int i = ++CurrentSize; while(i!=1 && x>heap[i/2]) { //cannot put x in heap heap = heap[i/2]; // move element down i /= 2; // move to parent } heap = x; return *this; } Φυσικά ανάλογα με την μέχρι τώρα υλοποίηση σου θα πρέπει να αλλάξεις κάποια πράγματα (π.χ. ονόματα μεταβλητών κτλ.). Ελπίζω να βοήθησα ...
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.