Datamaskin
  | Hjem | Hardware | Nettverk | Programmering | Software | Feilsøking | Systems | 
Programmering  
  • C /C + + Programming
  • Computer Programmeringsspråk
  • Delphi Programming
  • Java Programming
  • JavaScript Programmering
  • PHP /MySQL programmering
  • Perl Programming
  • Python Programming
  • Ruby Programming
  • Visual Basics Programming
  •  
    Datamaskin >> Programmering >> C /C + + Programming >> Content
    Slik fjerner en indeks i en dynamisk Array av heltall ved hjelp av C + +
    dynamisk tildelte arrays er en plassbesparende måte å lagre variable mengder data i C + + . De er effektivt organisert og tilbyr fordeler i både fart og generell minne fotavtrykk fortært av datastruktur . Prosessen med å slette en indeks fra en dynamisk matrise er ganske grei, men en av de downfalls av dynamiske matriser er at hastigheten på de algoritmene som brukes til å legge til eller fjerne elementer fra matrisen er treg i forhold til andre data - lagring metoder (for eksempel koblede lister , der legge til og slette fra matrisen kan gjøres i konstant tid ) . Den mest grunnleggende algoritme for å fjerne en indeks fra en dynamisk matrise kjører i lineær tid og er ganske lett å forstå. Du trenger
    tekst editor
    Compiler
    Vis flere instruksjoner
    en

    bestemme den endelige størrelsen på modifisert array. Fjerne en enkelt indeks vil redusere den resulterende gitterstørrelse etter en : en

    int newSize = currentArraySize - 1;
    2

    Opprett en ny dynamisk array som kan holde alle de gjenværende heltall i den gamle array. Bruk den nye størrelsen å gjøre dette : en

    int * newArray = new int [ newSize ];
    3

    Lag tellere for indekser i både nye og gamle arrays. Disse vil økes separat som du kopiere innholdet i den gamle matrisen i det nye : en

    int oldArrayIndex = 0;

    int newArrayIndex = 0;
    4

    traversere begge matriser : en

    for ( oldArrayIndex = 0; oldArrayIndex < currentArraySize ; + + oldArrayIndex )

    {

    //kode for å kopiere her går
    < p > }
    5

    kopiere data fra den gamle matrise til den nye , og øker den nye matrisen telleren med den gamle array teller til du kommer indeksen for å slette. Når du kommer til indeksen for å slette , ikke kopiere data , og ikke øke det nye utvalget teller. Bruke for loop ovenfra : en

    for ( oldArrayIndex = 0; oldArrayIndex < currentArraySize ; + + oldArrayIndex )

    {

    if ( oldArrayIndex = indexToDelete ! )

    {

    newArray [ newArrayIndex ] = oldArray [ oldArrayIndex ];

    + + newArrayIndex ;

    }

    }


    früher :

     Weiter:
      Relatert Artike
    ·Hvordan organisere en listen med Structs i C + + 
    ·Hvordan Declare Statiske funksjoner i C + + 
    ·Hvordan bruke MFC Verktøylinjer 
    ·Hvordan lage din egen PSP spill 
    ·Hvordan bruke Friend funksjoner i C + + 
    ·Hvordan bruke Fortran i C + + Linux 
    ·Hvordan bruke Visual C + + Express 
    ·Hvordan initialisert en ArrayList 
    ·Hvordan Sett verdien av en variabel i en streng C 
    ·Hvordan Link OBJ -filer i Turbo C + + 
      Anbefalte artikler
    ·Slik spiller Audio sanger ved hjelp av Visual Basic 
    ·Hva er Nedlegging God for i JavaScript 
    ·Slik installerer Perl på Windows XP 
    ·Hvordan bruke PHP Med Java 
    ·Hvordan gjøre linjeskift i PHP 
    ·Hvordan lage et spill i Python Shell 
    ·Hvordan spare listeboksen Elementer til en Array 
    ·Hvor å Fastsette Koble fra Tillatelser i PHP 
    ·Hvordan lage en nettleser 
    ·Hvordan bruke datavalidering til å fylle en Multi -Lev…
    Copyright ©  Datamaskin  http://www.datamaskin.biz/