MickyOr

Vectores

Jul 5th, 2016
266
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. libreria: vector
  2.  
  3. Un vector es una estructura muy similar a los arreglos, la diferencia es que un arreglo tiene un tamaño estático, un vector tiene un tamaño dinamico.
  4.  
  5.     -   Declaracion
  6.  
  7. vector<tipo de dato> nombre;
  8. vector<tipo de dato> nombre(tamaño);
  9. vector<tipo de dato> nombre(tamaño, valor); // inicializa el vector con un tamaño dado y le asigna un valor a todas las posiciones
  10.  
  11.     -   Adicion de elementos y cambio de tamaño y valores del vector
  12.  
  13. v.push_back(valor); // crea una nueva posicion al final del vector y le asigna un valor
  14.  
  15. v.resize(tamaño);
  16. v.resize(tamaño, valor); // cambia el tamaño del vector tambien puede asignarle un valor a las nuevas posiciones; si solo se pone el tamaño y no el valor, las nuevas posiciones valdran 0
  17.  
  18. v.assign(tamaño, valor); // cambia el tamaño del vector, a diferencia de resize esto le asigna un valor a todas las posiciones del vector, no solo a las nuevas
  19.  
  20. v.clear(); // elimina todos los valores del vector
  21.  
  22. Ej:
  23.  
  24. vector<int> v;      //                v.size() = 0
  25. v.push_back(99);    //99              v.size() = 1
  26. v.resize(5);        //99 0 0 0 0      v.size() = 5
  27. v.push_back(3);     //99 0 0 0 0 33   v.size() = 6
  28. v.resize(3);        //99 0 0          v.size() = 3
  29. v.resize(6, 1);     //99 0 0 1 1 1    v.size() = 6
  30. v.assign(5, 2);     // 2 2 2 2 2      v.size() = 5
  31. v.clear();          //                v.size() = 0
  32.  
  33.     -   Acceso a elementos
  34.  
  35. Al igual que en un arreglo se usa [] para acceder a los elementos de un vector
  36. Ej:
  37.     for (int i = 0; i < v.size(); i++) { cout<<v[i]<<" "; }
  38.  
  39.     for (int i = 0; i < v.size(); i++) { cin>>v[i]; }
  40.  
  41.     -   Ordenar o darle la vuelta a un vector (libreria algorithm)
  42.  
  43. sort(v.begin(), v.end()); // 5 1 3 2 -> 1 2 3 5
  44. reverse(v.begin(), v.end());
RAW Paste Data