-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathstandard.cpp
89 lines (77 loc) · 2.98 KB
/
standard.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
#include <iostream>
#include <queue>
#include <stack>
#include <list>
#include <vector>
using namespace std;
bool less_t_5(int n){ return n<5;}
int main(){
vector<int> v(4,100);
vector<int> v2(3,7);
v.push_back(101);
v.pop_back();
list<int> lista(4, 7), lista2;
stack<int> sck;
queue<int> q;
for(int i = 0; i<4; i++){ q.push(i);
lista2.push_back(i); sck.push(i);}
cout<<"la cola contiene "<<q.size()<<" elementos"<<endl;
cout<<"el ultimo elemento de la cola es: "<<q.back()<<endl;
while(!q.empty()){
cout<<q.front()<<" ";
q.pop();
}
cout<<endl;
cout<<"el vector contiene "<<v.size()<<" elementos"<<endl;
cout<<"el vector puede llegar a contener "<<v.max_size()<<endl;
cout<<"elementos del vector: ";
for(vector<int>::iterator i = v.begin(); i!=v.end();i++){
cout<<*i<<" ";
}
cout<<endl;
cout<<"recorriend el vector desde el final con rbegin(): ";
for(vector<int>::reverse_iterator i = v.rbegin(); i!=v.rend();i++){
cout<<*i<<" ";
}
cout<<endl;
v.clear(); //ahora el tamaño del vector es 0
v.swap(v2); //cambiando los contenidos de v y v2
v.erase(v.begin()+1); //(borra el elemento 0)
v.insert(v.begin()+1, 200); //inserta 200 en la posicion 1
v.assign(7,100); //asigna nuevo contenido al vector en este caso 7 cienes
int *p = v.data(); // p es un puntero al primer elemento del vector
cout<<v.back()<<endl; //muetra en pantalla el ultimo elemento del vector
cout<<v.front()<<endl;//muetra en pantalla el primer elemento del vector
cout<<v.at(0)<<endl; //muestra tambien el primer elemento del vector, el indice se especifica en el parametro
v.resize(1); //elimina todos lo elementos hasta quedarse con uno
v.capacity();//muestra cuantos elementos puede contener hasta el momento
cout<<v.empty()<<endl; //imprime 0, el vector tiene un elemento
v.reserve(100);// se hace un pedido para que el vector pueda contener por lo menos 100 elementos, si se puede
// se hace un cambio de direccion de memoria con la nueva continua que pueda almacenar 100 elementos
cout<<endl;
list<int>::iterator it = lista.begin();
it++;
lista.splice(it,lista2); //lista : 7 0 1 2 3 7 7
lista.remove(7); //elimina todos los 7's de la lista
lista.remove_if(less_t_5); //elimina los elementos menores a 5
lista.push_back(7);lista.push_back(7);
lista.push_back(7); lista.push_back(7); lista.push_back(7);
lista.unique();//elimina elementos repetidos
lista.clear(); lista2.clear();
for(int i = 0; i<5; i++){
if(i %2 ==0){
lista.push_back(i);
}else{
lista2.push_back(i);
}
}
lista.merge(lista2); //lista 2 ahora esta vacia y lista 1 contiene 0 1 2 3 4
lista.reverse(); //lista ahora es 4 3 2 1 0
lista.sort(); //lista es denuevo 0 1 2 3 4
//STACK
while(!sck.empty()){
cout<<sck.top()<<" " ;
sck.pop();
}
// 3 2 1 0
}