tableau de criblage tableau arr [] éléments en double, tenez compte de la complexité du temps

idées:

L'utilisation de deux réseaux, [A] arr répété pour stocker tous les éléments d'une autre B [] du tableau est une valeur d'index d'arr élément, le nombre d'éléments de réseau de temps correspondant à la valeur indice se produit. la complexité du temps est O (n)

On notera que , B [] nécessaire pour appliquertableaux statiques, car une valeur de dépassement de capacité sidifférence de dynamique entre les deux éléments de réseau adjacents, puis se produit; tableau dynamique a []si nécessaire, parce que le nombre d'éléments simultanément touséléments sont efficaces incertain sortie,sortie directe de traverse.

1 #include <iostream>
 2 #include <vector>
 3 en  utilisant l'  espace de noms std;
4  #define MAXSIZE 100
 5  
6  int b [MAXSIZE] = { 0 };
7 vector < int > a;
8  int arr [ 5 ] = { 1 , 4 , 3 , 1 , 4 };
9  
10  vide répétition ( int * arr, int n) {
 11      pour ( inti = 0 ; i <n; i ++ ) {
 12          b [arr [i]] ++ ;
13      }
 14      pour ( int i = 0 ; i <MAXSIZE; i ++ ) {
 15          si (b [i]> 1 )
 16              a.push_back (i);
17      }
 18  }
 19  
20  int main () {
 21      répétition (arr, 5 );
22      pour ( int i = 0 ; i <a.size (); i ++ )
 23          Cout << a [i] <<"  " ;
24      retour  0 ;
25 }

 

Je suppose que tu aimes

Origine www.cnblogs.com/PennyXia/p/12654888.html
conseillé
Classement