| Home  | Υλικό υπολογιστών  | Δικτύωση  | Προγραμματισμός  | λογισμικό  | ερώτηση  | συστήματα  |  
Προγραμματισμός  
  • C /C + + Προγραμματισμός

  • Προγραμματισμός Υπολογιστών Γλώσσες

  • Δελφοί Προγραμματισμός

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

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

  • PHP /MySQL Προγραμματισμός

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

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

  • ρουμπίνι Προγραμματισμός

  • Visual Βασικά Προγραμματισμός
  •  
    Γνώση Υπολογιστών >> Προγραμματισμός >> C /C + + Προγραμματισμός >> Content
    Πώς να αφαιρέσει ένα δείκτη σε ένα δυναμικό Array των ακεραίων Χρησιμοποιώντας C + +
    Δυναμικά πίνακες εκχώρησης είναι ένας χώρος - αποτελεσματικό μέσο για την αποθήκευση μεταβλητών ποσοτήτων δεδομένων σε C ​​+ + . Έχουν οργανωθεί αποτελεσματικά και να προσφέρουν οφέλη στην ταχύτητα και τον συνολικό αποτύπωμα της μνήμης που καταναλώνεται από τη δομή των δεδομένων . Η διαδικασία διαγραφής ενός δείκτη από μια δυναμική σειρά είναι αρκετά απλή , αλλά ένα από τα αρνητικά των δυναμικών πινάκων είναι ότι η ταχύτητα των αλγορίθμων που χρησιμοποιούνται για να προσθέσετε ή να αφαιρέσετε στοιχεία από τη σειρά είναι αργή σε σύγκριση με άλλες μεθόδους αποθήκευσης δεδομένων ( όπως συνδεδεμένες λίστες , στα οποία η προσθήκη και τη διαγραφή από τη συστοιχία μπορεί να γίνει σε σταθερό χρόνο ) . Το πιο βασικό αλγόριθμο για την αφαίρεση ενός δείκτη από μια δυναμική σειρά τρέχει σε γραμμικό χρόνο και είναι αρκετά εύκολο να καταλάβει . Τα πράγματα που θα χρειαστείτε
    επεξεργαστή κειμένου
    Compiler
    Η Εμφάνιση Περισσότερες οδηγίες
    Η 1

    Καθορίστε το τελικό μέγεθος των τροποποιημένων σειρά σας . Αφαίρεση ενός ενιαίου δείκτη θα μειώσει το μέγεθος του πίνακα που προκύπτει από 1 :

    int newSize = currentArraySize - 1 ? 2

    Δημιουργήστε μια νέα δυναμική σειρά που μπορεί να κρατήσει όλα τα υπόλοιπα ακεραίων η παλιά διάταξη . Χρησιμοποιήστε αυτό το νέο μέγεθος για να το κάνετε αυτό :

    int * newArray = new int [ newSize ] ?
    Εικόνων 3

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

    int oldArrayIndex = 0 ?

    Int newArrayIndex = 0 ?
    Η 4

    Τράβερς δύο πίνακες:

    για ( oldArrayIndex = 0 ? oldArrayIndex < currentArraySize ? + + oldArrayIndex )

    {

    //κώδικα για να αντιγράψετε πηγαίνει εδώ
    < p > }
    5

    Αντιγράψτε τα δεδομένα από την παλιά σειρά στο νέο , να αυξάνει το μετρητή του νέου πίνακα με μετρητή του παλαιού πίνακα μέχρι να φτάσετε το δείκτη να διαγράψετε . Όταν φτάσετε το δείκτη να διαγράψετε , μην αντιγράψετε τα δεδομένα και να μην αυξήσετε το νέο μετρητή πίνακα. Χρησιμοποιώντας το for loop από πάνω :

    για ( oldArrayIndex = 0 ? OldArrayIndex < currentArraySize ? + + OldArrayIndex )

    {

    if ( ! OldArrayIndex = indexToDelete ) < br >

    {

    newArray [ newArrayIndex ] = oldArray [ oldArrayIndex ] ?

    + + newArrayIndex ?

    } }


    < br >
    εικόνων

    Previous :

    next :
      Σχετικά Άρθρα
    ·Πώς να ξεκινήσετε ένα C κώδικα Από την γραμμή…
    ·PowerShell οι τύποι αντικειμένων 
    ·Visual Basic . NET Vs . . Visual C # NET 
    ·Πώς να χρησιμοποιήσετε το Win32 GUI σε C + + 
    ·Πώς να κάνει ένα C + + Void Εμφάνιση 
    ·Πώς να γράψετε ένα Make File 
    ·Πώς να μετατρέψετε Αλφαβητικός Strings σε C + + 
    ·Πώς να δημιουργήσετε μια κλάση C + + 
    ·Πώς να γράψετε ένα ρεύμα εισόδου σε ένα ρεύμ…
    ·Τρόπος εντοπισμού σφαλμάτων με DBX 
      Προτεινόμενα άρθρα
    ·Τρόπος εμφάνισης ResultSet Με JSP 
    ·Πώς να γράψει κώδικα για να δημιουργήσετε έν…
    ·Πώς να δημιουργήσετε ένα αρχείο Χρησιμοποιώ…
    ·Πώς να κερδίσει άδεια για να ανοίξει τα αρχε…
    ·Πώς να εγκαταστήσετε το Java EE Linux JDK 
    ·Πώς να κάνω μια φωτογραφία σε μια ακουαρέλα …
    ·Πώς να δημιουργήσετε Web Site Εικόνες 
    ·Τέσσερις τύποι Primitive σε Java 
    ·Πώς να αλλάξετε ένα κέρσορα του ποντικιού με…
    ·Πώς να ανιχνεύσει Διεθνές Unicode χαρακτήρων σε…
    Copyright © Γνώση Υπολογιστών http://el.wingwit.com