Explication détaillée de l'utilisation du vecteur C++
le vecteur est un membre important de C++ STL Lorsque vous l'utilisez, vous. besoin d'inclure le fichier d'en-tête :
#include<vector>;
1. Initialisation du vecteur : Il existe cinq façons, les exemples sont les suivants :
Recommandé : "Tutoriel C++"
(1 ) vector
(2) vector
( 3 ) vector
(4) vector
(5) int b[7]={1,2,3,4,5 ,9,8} ;
vector
2. Plusieurs opérations importantes sur les objets vectoriels, exemples La description est la suivante :
(1) a.assign(b.begin(), b.begin()+3); //b est un vecteur, attribuez le vecteur composé de 0~2 éléments de b à a
(2) a.assign(4,2); // a ne contient que 4 éléments, et chaque élément est 2
(3) a.back(); element of a
(4) a.front(); // Renvoie le premier élément de a
(5) a[i]; // Renvoie a Le i-ème élément de , si et seulement si a[i] existe 2013-12-07
(6) a.clear(); //Effacer l'élément dans un
(7 ) a.empty(); ); // Détermine si a est vide. S'il est vide, renvoie true, s'il n'est pas vide, renvoie false
(8) a.pop_back();
(9) a.erase(a.begin()+1,a.begin()+3); //Supprimer le 1er (du 0ème) au 2ème élément dans a , c'est-à-dire les éléments supprimés sont comptés de a.begin()+1 (l'incluant) à a.begin()+ 3 (l'excluant)
(10) a.push_back(5) //Insérer un élément après le dernier vecteur de a, sa valeur est 5
(11) a.insert(a.begin()+1,5); //Insérer le premier élément de a Insérer la valeur 5 à la position de l'élément (en comptant à partir du 0ème). Par exemple, si a vaut 1,2,3,4, après avoir inséré l'élément, ce sera 1,5,2,3,4
(12). ) a. insert(a.begin()+1,3,5); //Insérer 3 nombres à la position du premier élément de a (en comptant à partir de 0), et leurs valeurs sont toutes 5
(13) a.insert(a.begin()+1,b+3,b+6); //b est un tableau, insérez b à la position du premier élément de a (en comptant à partir du 0ème) ) Du 3ème élément au 5ème élément (hors b+6), si b vaut 1,2,3,4,5,9,8, après avoir inséré l'élément, ce sera 1,4,5,9,2, 3, 4,5,9,8
(14) a.size(); //Renvoie le nombre d'éléments dans a
(15) a.capacity( /); /Return Le nombre total d'éléments que a peut accueillir dans la mémoire
(16) a.resize(10); //Ajuster le nombre existant d'éléments de a à 10, supprimer s'il est supérieur, et remplir si c'est moins. Sa valeur est aléatoire
(17) a.resize(10,2); //Ajuster le nombre d'éléments existants de a à 10, supprimer plus si c'est plus et compléter. si moins. Sa valeur est 2
(18) a.reserve(100); //Agrandit la capacité de a à 100, ce qui signifie que lors du test de a.capacity(); 100. Cette opération ne peut être effectuée que lorsque cela n'a de sens que lorsque vous devez ajouter une grande quantité de données à un, car cela évitera plusieurs opérations d'extension de capacité de mémoire (l'ordinateur s'étendra automatiquement lorsque la capacité de a est insuffisante, de bien sûr, cela réduira inévitablement les performances)
(19) a.swap(b); //b est un vecteur, échangez les éléments de a et les éléments de b dans leur ensemble
( 20) a==b; //b est un vecteur, comparaison des vecteurs Les opérations incluent !=,>=,<=,>,<
3. Plusieurs façons d'accéder au vecteur de manière séquentielle , les exemples sont les suivants :
(1) Vecteur a Ajouter des éléments à
vector<int> a; for(int i=0;i<10;i++) a.push_back(i);
2 Vous pouvez également sélectionner des éléments du tableau à ajouter au vecteur
int a. [6]={1,2,3,4,5,6};
vecteur
pour(int i=1;i<=4;i++)
b.push_back(a[i]);
3. Vous pouvez également sélectionner des éléments du vecteur existant à ajouter au vecteur
int a[6]= {1,2,3,4,5,6};
vecteur
vecteur
b.push_back(*it);
4. Vous pouvez également lire des éléments du fichier et ajouter
ifstream in("data.txt"); vector<int> a; for(int i; in>>i) a.push_back(i);
5 au vecteur, [Malentendu]
vector<int> a; for(int i=0;i<10;i++) a[i]=i; //这种做法以及类似的做法都是错误的。刚开始我也犯过这种错误,后来发现,下标只能用于获取已存在的元素,而现在的a[i]还是空的对象
(2) Lecture d'éléments à partir de vecteurs
1.
int a[6]={1,2,3,4,5,6}; vector<int> b(a,a+4); for(int i=0;i<=b.size()-1;i++) cout<<b[i]<<" ";
2. Lecture des traverseurs
int a[6]={1,2,3,4,5,6}; vector<int> b(a,a+4); for(vector<int>::iterator it=b.begin();it!=b.end();it++) cout<<*it<<" ";
Quatre plusieurs algorithmes importants doivent inclure des fichiers d'en-tête lors de leur utilisation :
#include<algorithm>
(1) sort(a.begin(). ,a.end()); //Pour a Les éléments de a.begin() (l'incluant) à a.end() (l'excluant) sont classés du plus petit au plus grand
(2)reverse(a.begin(),a.end()); //Pour les éléments de a de a.begin() (l'incluant) à a.end() (l'excluant) Inverser, mais pas arranger. Par exemple, les éléments de a sont 1,3,2,4 Après inversion, ils sont 4,2,3,1
(3) copy(a.begin(),a. .end( ),b.begin()+1); //Copiez les éléments de a de a.begin() (l'incluant) vers a.end() (en l'excluant) vers b, depuis b.begin( ) +1 position (y compris) et commencez à copier, en écrasant l'élément d'origine
(4) find(a.begin(),a.end(),10); élément de a.begin() (l'incluant) à a.end() (l'excluant), et s'il existe, renvoie sa position dans le vecteur
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!