Dator
 |  Startsida |  Hårdvara |  Nätverk |  Programmering |  Programvara |  Felsökning |  System |   
Programmering
  • C /C + + -programmering
  • Computer Programspråk
  • Delphi Programmering
  • Java Programming
  • JavaScript programmering
  • PHP /MySQL Programmering
  • perl Programmering
  • python Programming
  • Ruby programmering
  • Visual Basics Programmering
  • * Dator Kunskap >> Programmering >> C /C + + -programmering >> Content

    Hur man tar bort ett index i en dynamisk array av heltal med C + +

    Dynamiskt tilldelade matriser är ett yteffektiva sätt att lagra variabla mängder data i C + + . De är effektivt organiserade och erbjuder fördelar i både hastighet och total minnesanvändning konsumeras av datastruktur . Processen för att ta bort ett index från en dynamisk array är ganska enkelt , men en av de downfalls av dynamiska arrayer är att hastigheten på de algoritmer som används för att lägga till eller ta bort element från arrayen långsam jämförs med andra data - lagring metoder ( t.ex. länkade listor , där lägga till och ta bort från arrayen kan göras i konstant tid ) . Den mest grundläggande algoritm för att ta bort ett index från en dynamisk array körs i linjär tid och är ganska lätt att förstå . Saker du behöver
    Text Redaktör Compiler
    Visa fler instruktioner
    1

    bestämma den slutgiltiga storleken på din modifierade arrayen . Ta bort en enda index kommer att minska den resulterande arrayen storlek med 1 :

    int newSize = currentArraySize - 1 ,
    2

    Skapa en ny dynamisk array som kan hålla alla återstående heltal i den gamla matrisen. Använd den nya storleken att göra detta :

    int * newArray = new int [ newSize ] ;
    3

    Skapa räknare för index i både de nya och gamla matriser . Dessa kommer att ökas separat som du kopierar innehållet i den gamla arrayen till den nya :

    int oldArrayIndex = 0 ;

    int newArrayIndex = 0;
    4

    Traverse båda arrayer :

    för ( oldArrayIndex = 0; oldArrayIndex < currentArraySize ; + + oldArrayIndex ) katalog

    {

    //kod för att kopiera går här

    }
    5

    Kopiera data från den gamla arrayen till den nya , uppräkning den nya arrayen s disken med den gamla arrayen s disk tills du når index för att radera . När du kommer till index för att radera , inte kopiera uppgifter och inte öka den nya arrayen disken . Använda för slingan från ovan :

    för ( oldArrayIndex = 0; oldArrayIndex < currentArraySize ; + + oldArrayIndex ) katalog

    {

    om ( oldArrayIndex = indexToDelete ! )

    {

    newArray [ newArrayIndex ] = oldArray [ oldArrayIndex ] ;

    + + newArrayIndex ;

    }

    }

    Addera

    Tidigare:

    nästa:
    relaterade artiklar
    ·Hur man skapar en funktion i Microsoft Visual C + +
    ·Hur ta reda på om en rad eller en kolumn är markerad …
    ·Online Tutorials om drivrutiner med C + +
    ·Konvertera ett negativt värde till positiv i C + +
    ·Hur man använder OracleDataAdapter att uppdatera en Da…
    ·Hur man använder negativa tal i C
    ·Hur får man en System Date i C #
    ·Hur man skickar tangenttryckningar till Active X Egensk…
    ·Debugging i Visual C
    ·Hur du använder denna pekare i C + +
    Utvalda artiklarna
    ·Hur du använder Threading och meddelanden i Visual C +…
    ·Hur man kan dela heltal med Bit Skiften
    ·Java 1.5 Funktioner
    ·Hur man skriver villkorsuttryck i VB.NET Console Progra…
    ·Hur man kör en PHP -fil utan en PHP-tillägg
    ·Hur ställer jag in ActiveX-kontroller
    ·Hur man redigerar en UDF -fil
    ·Hur man läser XML Använda VB.NET
    ·Hur infoga flera rader på en MySQL Statement
    ·Hur Synkronisera Services Använda WCF
    Copyright © Dator Kunskap http://www.dator.xyz