Beruflich Dokumente
Kultur Dokumente
#include <set> #include <map> #include <queue> #include <stack> #include <cstdio> #include <cmath> #include <cstdlib> using namespace std; int main() {
return 0; }
5e t!r
(e lara i6n"
vector <tipo> V; vector <tipo> V(n); vector <tipo> V(n! au"); vector <tipo> # $ V;
va ! 77 n element!&, !n&tru t!r del tip! 77 n element!& iguale& a au8 77 &e pueden a&ignar ve t!re& 77 va !, e& me)!r utili-ar d!uble 3ue .l!at 77 1+ element!& iguale& a ' 77 matri- de 1/81+, element!&
9)m" :
vector <double> au"; vector <int> "(%0! &); vector < vector <int> > '(%(! ");
iguale& a ' : A e&! a element!&" V)ind* 77 element! ind de 5, igual 3ue l!& arregl!& n!rmale& : Tama#! del ve t!r"
int tam $ V+si,e();
: 9)m"
for(int i$0; i<au"+si,e(); i--)
5e t!r
regar element!&" V+push.back(au"); 77 !l! a au8 al .inal de 5 V+insert(V+begin() - ind! au"); 77in&erta au8 en el ndi e ind de 5 77elimina el element! 5;ind< 77elimina t!d!& l!& element!& de 5
minar element!&"
V+erase(V+begin() - ind); V+clear();
mpl!"
int n;
cin>>n;
nums+push.back(n);
String
(e lara i6n"
string s $ 22; string s(n! ch); string s $ au";
: 9)empl!"
string cad(%0! 3a3); string " $ 2hola2;
: A
: Tama#! de la adena"
int tam $ s+si,e();
String
9n !ntrar una &ub adena" int pos $ s+4ind(au"); devuelve el ndi e de & en el 3ue empie-a au8 int pos $ s+4ind(au"! ind); devuelve el primer ndi e >? ind 77 amba& ret!rnan @1 &i n! en uentran a au8 : In&er i6n" s+insert(ind! au"); 77 in&erta a la adena au8 en el ndi e ind : 9limina i6n" s+erase(ind! n); 77 elimina n ara tere& empe-and! en el ndi e ind s+clear(); 77 b!rra t!da la adena
Alg!rit=m
! m$8im!" min(a! b) 77 (evuelve el mnim! ! m$8im! de a y b, para ual3uier tip! de dat! ma"(a! b) 77 3ue tenga de.inid! el !perad!r A (int, &tring, ve t!r, &tring, B) 77 e3uivale a"
a$b; b$au";
mbi! de val!re&"
au"$a;
s5ap(a! b);
sort(V+begin()! V+end());
sort(V+rbegin()! V+rend());
!rden"
V)i* V)V+si,e() 6 i / %*
reverse(V+begin()! V+end());
String&tream
Input String Stream (istringstream): : Permiten e8traer dat!&(int, &tring, =ar, b!!l) de un .lu)!& de entrada(&tring) : string 4echa $ 2domingo %7 de septiembre de 80092; istringstream is(4echa); int dd! ''''; string dia! mes! au"; is>>dia>>dd>>au">>mes>>au">>''''; : : Output String Stream (ostringstream): : Permiten .!rmar un .lu)! de &alida a partir de dat!&. : int dd$%7! ''''$8009; string dia$2domingo2! mes$2septiembre2! au"$2de2; ostringstream os; os<<dia<<2 2<<dd<<2 2<<au"<<2 2<<mes<<2 2<<au"<<2 2<<''''; string 4echa$os+str();
Pair
(e lara i6n" pair <tipo%! tipo8> "; 9)empl!" : pair <int! int> "; 77 pair de enter!& pair <string! string> "; 77 pair de &tring pair < pair<int! int>! int > " 77 pair de ual3uier tip! : Ingre&! de val!re&" pair <int! int> "; int a$(! b$%0; " $ make.pair(a! b); : A e&! a element!&" "+4irst "+second ret!rna el primer element! &egund! element!
Alg!rit=m II
Function sort sobrecargada:
sort("+begin()! "+end()! orden);
Donde orden es una funcion booleana que recibe 2 elementos de x y devuelve el resultado de la comparacin entre ellos:
bool orden(tipo a! tipo b) { si a debe ser menor que b return %; return 0; }
En otras palabras orden sustituye al operador < usado por defecto E!emplo: "rdenar puntos #x$ y%en un vector < pair <int! int> > seg&n: ' 2 x creciente$ y creciente y creciente$ x creciente
Set
set <tipo> "
ne element!& &in repeti i!ne&, !rdenad!& a& endentemente. !n)unt! va i! in&erta a en el &et
"+si,e();
a i6n"
er i!n"
"+insert(a);
! de element!&"
r element!&"
"+erase(a);
<int> ";
Set
Encontrar un elemento:
"+4ind(au")
77 ret!rna el iterad!r 3ue apunta al element! au8 77 ! 8.end() &i au8 n! pertene e a 8
E!emplo"
i4(=+4ind(au") $$ =+end()) cout<<0>o e"iste1<<endl; else cout<<0=i e"iste1<<endl
Map
tip!1 e& el tip! de la EllaveF, tip!% e& el tip! de l!& element!&
ede a l!& element!& mediante un ndi e &in! mediante un val!r ual3uiera(enter!, ve t!r, &tring, pa
ipo%! tipo8> ?;
tring! int> ?;
2*$%; 2*$8;
! el map"
ment!& a un ve t!r"
< pair <tipo%! tipo8> > v(?+begin()! ?+end());
Iueue
struct nodo { int ind! dist; nodo() {} nodo(int n%! int n8) { ind $ n%; dist $ n8; } };
Declaracin" : Mtodos:
queue <nodo> @;
@+push(q); .. /0adir un elemento al final de la cola nodo q $ @+4ront(); .. "btener el elemento del frente @+pop(); .. *orrar el elemento del frente
I.empty()J
pri!rityK3ueue
struct nodo { int ind! dist; nodo() {} nodo(int n%! int n8) { ind $ n%; dist $ n8; } }; bool operator <(nodo a! nodo b) { return a+dist > b+dist; }
Declaracin" : Mtodos:
priorit'.queue <nodo> @;
.. /0adir un elemento al final de la cola .. "btener el elemento con mayor prioridad #menor distancia% .. *orrar el elemento del frente .. 1 si la cola esta vac2a$ ' si tiene alg&n elemento
@+empt'();