Maison  >  Article  >  développement back-end  >  Structures de données : différence entre pile et file d'attente

Structures de données : différence entre pile et file d'attente

藏色散人
藏色散人original
2019-03-02 14:49:564572parcourir

Structures de données : différence entre pile et file d'attente

Pile :

Une pile est une structure de données linéaire où les éléments ne peuvent être insérés que par le haut du liste et supprimer. La pile suit le principe du dernier entré, premier sorti, c'est-à-dire que le dernier élément inséré est le premier élément sorti. L'insertion d'un élément dans la pile est appelée une opération push, et la suppression d'un élément de la pile est appelée une opération pop. Dans une pile, on garde toujours une trace du dernier élément présent dans la liste à l'aide d'un pointeur appelé top.

Le schéma de la pile est le suivant :

Structures de données : différence entre pile et file dattente

File d'attente :

La file d'attente est une structure de données linéaire . Dans cette structure, les éléments ne peuvent être insérés que d'un côté de la liste appelé "après" et les éléments ne peuvent être supprimés que de l'autre côté de la liste appelé "avant". La structure des données de la file d'attente suit le principe FIFO (First In First Out), c'est-à-dire que le premier élément inséré dans la liste est le premier élément supprimé de la liste. L'insertion d'un élément dans la file d'attente est appelée une opération de mise en file d'attente, et la suppression d'un élément est appelée une opération de retrait de la file d'attente.

Dans la file d'attente, nous maintenons toujours deux pointeurs, un pointeur pointe vers l'élément inséré sur le premier pointeur et est toujours dans la liste représentée par le pointeur précédent, et l'autre pointeur pointe vers l'élément inséré sur le dernier pointeur L'élément est représenté par un pointeur plus tard.

Le schéma de la file d'attente est le suivant :

Structures de données : différence entre pile et file dattente

Différence entre pile et file d'attente

堆栈 队列
堆栈基于LIFO原则,即最后插入的元素是列表中的第一个元素。 队列基于FIFO原则,即插入第一个元素,是从列表中出来的第一个元素。
堆栈中的插入和删除仅发生在名为top的列表的一端。 队列中的插入和删除是从列表的相反端进行的。插入发生在列表的后面,删除从列表的前面进行。
插入操作称为推送(push)操作。 插入操作称为入队操作。
删除操作称为弹出(pop)操作。 删除操作称为出列操作。
在堆栈中,我们只维护一个访问列表的指针,称为top,它始终指向列表中的最后一个元素。 在队列中,我们维护两个指针来访问列表。前指针始终指向插入列表中的第一个元素并且仍然存在,后指针始终指向最后插入的元素。


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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn