Προγραμματισμός

* Γνώση Υπολογιστών >> Προγραμματισμός >> C /C + + Προγραμματισμός

Πώς να Διαγραφή C + + διεφθαρμένες Heap

Ένας σωρός είναι μια δομή δέντρου που συμμορφώνεται με έναν ειδικό κανόνα σωρό . Ο κανόνας σωρός ορίζει ότι κάθε κόμβος του δέντρου έχει μικρότερη αξία από τη μητρική της κόμβο . Κόμβοι είναι τοποθεσίες στο δέντρο που περιέχουν δεδομένα . Ένας σωρός αποθηκεύει τον κόμβο μεγαλύτερη αξία στον κόμβο ρίζας του δέντρου , ενώ οι κόμβοι χαμηλότερη τιμή κατοικούν στο χαμηλότερο επίπεδο του δέντρου . Ένας σωρός μπορεί να γίνει διεφθαρμένη όταν μια άλλη διαδικασία τροποποιεί τα δεδομένα, έτσι ώστε να μην είναι πλέον τηρεί τον κανόνα του σωρού . Στη C + + , μπορείτε να δημιουργήσετε και να καταστρέψουν σωρούς χρησιμοποιώντας τις βασικές λειτουργίες . Τα πράγματα που θα χρειαστείτε
C + + Integrated Development Environment , IDE ή , όπως Eclipse CDT
C + + compiler , όπως GCC
Η Εμφάνιση Περισσότερες οδηγίες
Η

1 Τοποθετήστε το C + + IDE κάνοντας κλικ στο εικονίδιο του προγράμματος του . Όταν ανοίγει , επιλέξτε " File /New /Project" και επιλέξτε " C + + Project" για να δημιουργήσετε ένα νέο C + + project . Ένα κενό αρχείο πηγαίου κώδικα εμφανίζεται στο τμήμα επεξεργασίας κειμένου του IDE 2

Εισαγωγή του " φορέα " και "Αλγόριθμος " βιβλιοθήκες γράφοντας τα εξής στο επάνω μέρος του αρχείου πηγαίου κώδικα : .

# # εισαγωγή εισαγωγής εικόνων
3

αναγνωρίσει μια κύρια λειτουργία . Κύριες λειτουργίες είναι τα σημεία εισόδου του προγράμματος - εφόσον το πρόγραμμα ξεκινά την εκτέλεση . Οι αγκύλες που ακολουθούν μια κύρια λειτουργία σχηματίζουν ένα μπλοκ κώδικα : Ενσωματώνουν όλα του πηγαίου κώδικα για την κύρια λειτουργία σας . Γράψτε την κύρια δήλωση της συνάρτησης και μπλοκ κώδικα όπως αυτό :

int main ( ) { }
Η 4

Γράψτε τον πηγαίο κώδικα που βρέθηκαν στα παρακάτω βήματα μέσα στις αγκύλες της κύριας λειτουργίας .
5

Δημιουργήστε ένα δοχείο διανυσματικά δεδομένα . Τα διανύσματα είναι διαδοχικά δοχεία, τα οποία να αλλάξετε το μέγεθος αυτόματα τον εαυτό τους , όταν τα δεδομένα προστίθενται σε αυτά . Για να δημιουργήσετε ένα νέο φορέα , γράψτε την ακόλουθη δήλωση :

φορέα v ( ) ?
Η 6

Προσθέστε τα στοιχεία για το φορέα , χρησιμοποιώντας τη λειτουργία " push_back " . Για παράδειγμα , για να προσθέσετε τους αριθμούς 1 έως 4 του φορέα , γράψτε τις παρακάτω γραμμές κώδικα :

v.push_back ( 1 ) ? V.push_back ( 2 ) ? V.push_back ( 3 ) ? Κατά push_back ( 4 ) ?
Η 7

Αναδιάταξη του φορέα για το σχηματισμό ενός σωρού . Ένας σωρός είναι μια δομή δέντρου στην οποία οι "παιδιά" ενός κόμβου είναι χαμηλότερες σε αξία ? Ως εκ τούτου , το άνω κόμβο ενός σωρού είναι ο κόμβος με την υψηλότερη αριθμητική τιμή - 4 , σε αυτό το παράδειγμα . Μπορείτε να χρησιμοποιήσετε το make_heap εντολή όπως αυτή , περνώντας στην αρχή και στο τέλος του φορέα ώστε να περιλαμβάνει όλα τα στοιχεία του :

make_heap ( v.begin ( ) , v.end ( ) ) ?

8

Αφαιρέστε όλα τα στοιχεία από ένα σωρό , αν υποψιάζεστε ότι έχει καταστραφεί . Μπορείτε να το κάνετε αυτό χρησιμοποιώντας το " pop_heap " λειτουργούν σαν αυτό :

pop_heap ( v.begin ( ) , v.end ( ) ) ?
Η
εικόνων

Συναφής σύστασή

Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα