| Home  | Casa  | Hardware  | Networking  | Programmazione  | Software  | Domanda  | Sistemi  |   
Programmazione  
  • C /C + + Programming

  • Computer Programming Languages

  • Delphi Programming

  • Java Programming

  • Programmazione Javascript

  • PHP /MySQL Programmazione

  • Perl Programming

  • Python Programming

  • rubino Programmazione

  • Nozioni di base di Visual Programming
  •  
    Conoscenza Informatica >> Programmazione >> C /C + + Programming >> Content
    Come rimuovere un indice in un array dinamico di interi con C + +
    matrici allocate dinamicamente, sono un mezzo spazio - efficienti di stoccaggio quantità variabili di dati in C + + . Essi sono organizzati in modo efficiente e offrono vantaggi in termini di velocità e in generale occupazione di memoria consumata dalla struttura dei dati . Il processo di eliminazione di un indice di un array dinamico è molto semplice , ma una delle cadute di matrici dinamiche è che la velocità degli algoritmi utilizzati per aggiungere o rimuovere elementi dell'array è lento rispetto ad altri metodi di archiviazione dati (quali liste collegate , nelle quali l'aggiunta e l'eliminazione dalla matrice può essere fatto in tempo costante ) . L'algoritmo di base per la rimozione di un indice di un array dinamico viene eseguito in tempo lineare ed è abbastanza facile da capire . Cose che ti serviranno
    Text Editor
    Compiler
    Mostra più istruzioni
    1

    determinare la dimensione finale del vostro dell'array modificato . Rimozione di un unico indice si riduce la dimensione della matrice risultante da 1 :

    int newSize currentArraySize = - 1 ;
    2

    creare un nuovo array dinamico che può contenere tutti gli altri numeri interi in la vecchia matrice. Utilizzare la nuova dimensione per fare questo :

    int * newArray = new int [ newSize ] ;
    3

    Creare contatori per indici in entrambi i vecchi e nuovi array . Questi saranno incrementati separatamente come si copia il contenuto della vecchia serie nella nuova :

    oldArrayIndex int = 0;

    newArrayIndex int = 0;
    4

    Traverse entrambi gli array :

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

    {

    //codice da copiare va qui
    < p > }
    5 Copiare i dati

    dal vecchio array al nuovo , incrementando contatore del nuovo array con bancone della vecchia serie fino a raggiungere l'indice da eliminare. Quando si raggiunge l'indice di cancellare , non copiare i dati e non incrementare il contatore nuovo array. Usando il ciclo for dall'alto :

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

    {

    se ( oldArrayIndex = indexToDelete ! ) < Br >

    {

    newArray [ newArrayIndex ] = oldArray [ oldArrayIndex ] ;

    + + newArrayIndex ;

    }

    }
    < br >

    Previous :

    next :
      Articoli Correlati
    ·Come capo automatico Con Visual C 
    ·Come fare un C + + finestra principale senza un titolo …
    ·Come visualizzare i caratteri in MFC 
    ·Come leggere un numero di caratteri da file in CPP 
    ·Come utilizzare la funzione memcmp in C + + 
    ·Come passare i puntatori a funzioni 
    ·Come aggiungere o rimuovere Array Pointer 
    ·Che cosa è un programmatore ISO 
    ·Come usare getline in C a Salta Cin.Ignore 
    ·Strumenti di sviluppo Mac OS 
      Articoli in evidenza
    ·Come convertire un elenco di una stringa in Java 
    ·Come togliere gli slash con PHP 
    ·Come elencare le funzioni in una classe in Python 
    ·Come utilizzare le sessioni in MODx Revolution 
    ·Come applicare Convoluzione in MATLAB senza usare la fu…
    ·Che cosa è un array sparso in MATLAB 
    ·Funzioni in T - SQL Embedded 
    ·Come controllare le funzioni VB6 Codice 
    ·Come posso controllare il rientro Python in VIM 
    ·Python non è corrispondente ad una stringa 
    Copyright © Conoscenza Informatica http://it.wingwit.com