English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

File prioritaire (priority_queue)++ Tutoriel de base

File prioritaire (priority_queue)++ Flow control

File prioritaire (priority_queue)++ Fonction

File prioritaire (priority_queue)++ Array & string

File prioritaire (priority_queue)++ Data structure

File prioritaire (priority_queue)++ Class & object

File prioritaire (priority_queue)++ Pointer

File prioritaire (priority_queue)++ Inheritance

File prioritaire (priority_queue)++ STL Tutorial

File prioritaire (priority_queue)++ Reference Manual

File prioritaire (priority_queue)++ Queue (queue)

In the field of computer science, we are committed to various programs. Each one has its own domain and utility. According to the purpose and environment of program creation, we have a large number of data structures to choose from. One of them is 'queue'. Before discussing this data type, let's take a look at its syntax.

Syntax

template<class T, class Container = deque<T> > class queue;

This data structure is suitable for FIFO technology, where FIFO stands for First In First Out. The first element inserted will be extracted first, and so on. There is an element called 'front', which is the element located at the front position or the first position, and there is also an element called 'back', which is the element located at the last position. In a normal queue, elements are inserted at the end, and deletion starts from the front.

In the application area, the queue is implicitly a container adapter.

The container should support the following list of operations:

  • empty

  • size

  • push_back

  • pop_front

  • front

  • back

Template parameter

T: The parameter specifies the type of elements that the container adapter will retain.

Container: The parameter specifies the internal object of the container, in which the queue elements are retained.

Types membres

Below is a list of queue member types provided, with a brief description.

Types membresDescription
value_typeIl spécifie le type d'élément.
container_typeIl spécifie le type de conteneur sous-jacent.
size_typeIl spécifie la gamme de taille de l'élément.
referenceC'est un type de référence de conteneur.
const_referenceC'est un type de référence de conteneur constant.

Fonction

Grâce aux fonctions, on peut utiliser des objets ou des variables dans le domaine de la programmation. La file fournit un grand nombre de fonctions qui peuvent être utilisées ou intégrées dans un programme. La liste suivante est identique :

FonctionDescription
(constructeur)Cette fonction est utilisée pour construire le conteneur de file.
emptyCette fonction est utilisée pour tester si la file est vide. Si la file est vide, cette fonction retourne true, sinon retourne false.
sizeCette fonction retourne le nombre d'éléments dans la file.
frontCette fonction retourne l'élément premier. Cet élément joue un rôle très important, car toutes les opérations de suppression sont exécutées sur l'élément de front.
backCette fonction retourne l'élément dernier. Cet élément joue un rôle très important, car toutes les opérations d'insertion sont exécutées sur l'élément suivant.
pushCette fonction est utilisée pour insérer un nouvel élément à la fin.
popCette fonction est utilisée pour supprimer l'élément premier.
emplaceCette fonction est utilisée pour insérer un nouvel élément au-dessus de l'élément suivant actuel dans la file.
swapCette fonction est utilisée pour échanger le contenu de deux conteneurs mentionnés.
opérateurs relationnelsLes fonctions non membres spécifient les opérateurs relationnels nécessaires pour la file.
uses allocator<queue>Comme son nom l'indique, la fonction non membre utilise l'allocateur pour la file.

Exemple : Un programme simple, affichant l'utilisation des fonctions de base de la file.

#include <iostream>
#include <queue>
using namespace std;
void showsg(queue<int> sg)
{
	queue<int> ss = sg;
	while (!ss.empty())
	{
		cout << '\t' << ss.front();
		ss.pop();
	return 0;
	cout << '\n';
return 0;
int main()
{
	queue<int> fquiz;
	fquiz.push(10);
	fquiz.push(20);
	fquiz.push(30);
	cout << "La file fquiz est : ";
	fquiz.pop();
	cout << "\nfquiz.size() : " << fquiz.size();
	cout << "\nfquiz.front() : " << fquiz.front();
	cout << "\nfquiz.back() : " << fquiz.back();
	cout << "\nfquiz.back() :" << fquiz.back();
	cout << "\nfquiz.pop() :";
	fquiz.pop();
	showsg(fquiz);
return 0;

}

Sortie : 	10	2Copyright ©	3Copyright ©
La file fquiz est : 3
fquiz.size() : 10
fquiz.front() : 3Copyright ©
fquiz.back() : 	2Copyright ©	3Copyright ©