STL
(Standard Template Library)
Enseignement Informatique
LAL
STL est une bibliothèque standard du C++
La librarie STL est organisée en plusieurs parties. Il existe principalement 3 types d'éléments
On ajoute
|
List : liste doublement chaînée |
|
|
Vector : tableau à 1 dimension |
|
|
Set/Multiset : ensemble |
|
|
Map/Multimap : tableau associatif |
|
| Utilisation des listes |
#include <iostream>
#include <list>
int main()
{
std::list<int> l;
l.push_front(3);
l.push_front(2);
l.push_back(4);
l.pop_front();
l.pop_back();
std::cout << l.front() << std::endl;
std::cout << l.back() << std::endl;
return 0;
}
|
| Comme pour tous les composants STL, il faut toujours se placer dans l'espace de nommage std:: |
#include <iostream>
#include <list>
int main()
{
std::list<int> l;
l.push_front(3);
l.push_front(2);
l.push_back(4);
l.pop_front();
l.pop_back();
std::cout << l.front() << std::endl;
std::cout << l.back() << std::endl;
return 0;
}
|
| Insère un élément dans la liste |
#include <iostream>
#include <list>
int main()
{
std::list<int> l;
l.push_front(3);
l.push_front(2);
l.push_back(4);
l.pop_front();
l.pop_back();
std::cout << l.front() << std::endl;
std::cout << l.back() << std::endl;
return 0;
}
|
| Retire un élément de la liste |
#include <iostream>
#include <list>
int main()
{
std::list<int> l;
l.push_front(3);
l.push_front(2);
l.push_back(4);
l.pop_front();
l.pop_back();
std::cout << l.front() << std::endl;
std::cout << l.back() << std::endl;
return 0;
}
|
| Accède à un élément de la liste |
#include <iostream>
#include <list>
int main()
{
std::list<int> l;
l.push_front(3);
l.push_front(2);
l.push_back(4);
l.pop_front();
l.pop_back();
std::cout << l.front() << std::endl;
std::cout << l.back() << std::endl;
return 0;
}
|
| Utilisation des vecteurs |
#include <iostream>
#include <vector>
int main()
{
std::vector<int> v;
v.push_back(3);
v.push_back(4);
std::cout << v[0] << std::endl;
v.at( 1 ) = 5;
std::cout << v.back() << std::endl;
v.clear();
return 0;
}
|
| Insère un élément dans le vecteur |
#include <iostream>
#include <vector>
int main()
{
std::vector<int> v;
v.push_back(3);
v.push_back(4);
std::cout << v[0] << std::endl;
v.at( 1 ) = 5;
std::cout << v.back() << std::endl;
v.clear();
return 0;
}
|
| Accède au 1er élément |
#include <iostream>
#include <vector>
int main()
{
std::vector<int> v;
v.push_back(3);
v.push_back(4);
std::cout << v[0] << std::endl;
v.at( 1 ) = 5;
std::cout << v.back() << std::endl;
v.clear();
return 0;
}
|
| Modifie le 2è élément |
#include <iostream>
#include <vector>
int main()
{
std::vector<int> v;
v.push_back(3);
v.push_back(4);
std::cout << v[0] << std::endl;
v.at( 1 ) = 5;
std::cout << v.back() << std::endl;
v.clear();
return 0;
}
|
| Accède au dernier élément du vecteur |
#include <iostream>
#include <vector>
int main()
{
std::vector<int> v;
v.push_back(3);
v.push_back(4);
std::cout << v[0] << std::endl;
v.at( 1 ) = 5;
std::cout << v.back() << std::endl;
v.clear();
return 0;
}
|
| Supprime tous les éléments |
#include <iostream>
#include <vector>
int main()
{
std::vector<int> v;
v.push_back(3);
v.push_back(4);
std::cout << v[0] << std::endl;
v.at( 1 ) = 5;
std::cout << v.back() << std::endl;
v.clear();
return 0;
}
|
#include <vector>
{
std::vector<int> v;
//
std::vector<int>::iterator it1 = v.begin();
std::vector<int>::iterator it2 = v.end();
}
#include <iostream>
#include <list>
int main()
{
std::list<int> liste;
for (unsigned int i = 0; i < 10; i++) {
liste.push_back(i);
}
std::list<int>::iterator it;
for (it = liste.begin(); it != liste.end(); ++it) {
int i = *it;
std::cout << "i = " << i << std::endl;
}
return (0);
}
|
| Déclaration |
#include <iostream>
#include <list>
int main()
{
std::list<int> liste;
for (unsigned int i = 0; i < 10; i++) {
liste.push_back(i);
}
std::list<int>::iterator it;
for (it = liste.begin(); it != liste.end(); ++it) {
int i = *it;
std::cout << "i = " << i << std::endl;
}
return (0);
}
|
| 1er élément |
#include <iostream>
#include <list>
int main()
{
std::list<int> liste;
for (unsigned int i = 0; i < 10; i++) {
liste.push_back(i);
}
std::list<int>::iterator it;
for (it = liste.begin(); it != liste.end(); ++it) {
int i = *it;
std::cout << "i = " << i << std::endl;
}
return (0);
}
|
| Pointe après le dernier élément |
#include <iostream>
#include <list>
int main()
{
std::list<int> liste;
for (unsigned int i = 0; i < 10; i++) {
liste.push_back(i);
}
std::list<int>::iterator it;
for (it = liste.begin(); it != liste.end(); ++it) {
int i = *it;
std::cout << "i = " << i << std::endl;
}
return (0);
}
|
| On incrémente l'itérateur |
#include <iostream>
#include <list>
int main()
{
std::list<int> liste;
for (unsigned int i = 0; i < 10; i++) {
liste.push_back(i);
}
std::list<int>::iterator it;
for (it = liste.begin(); it != liste.end(); ++it) {
int i = *it;
std::cout << "i = " << i << std::endl;
}
return (0);
}
|
| On accède à l'élément par déréférencement |
#include <iostream>
#include <list>
int main()
{
std::list<int> liste;
for (unsigned int i = 0; i < 10; i++) {
liste.push_back(i);
}
std::list<int>::iterator it;
for (it = liste.begin(); it != liste.end(); ++it) {
int i = *it;
std::cout << "i = " << i << std::endl;
}
return (0);
}
|
Questions ?