Maison >développement back-end >C++ >Utiliser le langage C pour expliquer la suppression d'éléments dans la file d'attente
Une structure de données est un ensemble de données organisées de manière structurée. Il est divisé en deux types comme mentionné ci-dessous -
Structure de données linéaire - Les données sont organisées de manière linéaire. Par exemple, des tableaux, des structures, des piles, des files d'attente et des listes chaînées.
Structure de données non linéaire - Les données sont organisées de manière hiérarchique. Par exemple, des arbres, des graphiques, des ensembles, des tableaux.
C'est une structure de données linéaire, l'insertion se fait dans le backend et la suppression se fait dans le frontend.
L'ordre de la file d'attente est FIFO – premier entré, premier sorti
Dépassement de file d'attente - Essayez d'insérer un élément dans une file d'attente complète.
La file d'attente est en état de streaming - Tentative de suppression d'un élément de la file d'attente vide.
Vous trouverez ci-dessous l'algorithme d'insertion ( ) -
if (r==n) printf ("Queue overflow")
q[r] = item r++donne ci-dessous un algorithme pour
deletion ( ) −
if (f==r) printf ("Queue under flow")
item = q[f] f++
display ( ) -
if (f==r) printf("Queue is empty")ul>
for(i=f; i<r; i++) printf ("%d", q[i]);
#include <stdio.h> #define MAX 50 void insert(); int array[MAX]; int rear = - 1; int front = - 1; main(){ int add_item; int choice; while (1){ printf("1.Insert element to queue </p><p>"); printf("2.Delete an element from queue</p><p>"); printf("3.Display elements of queue </p><p>"); printf("4.Quit </p><p>"); printf("Enter your choice : "); scanf("%d", &choice); switch (choice){ case 1: insert(); break; case 2: delete(); case 3: display(); break; case 4: exit(1); default: printf("Wrong choice </p><p>"); } } } void insert(){ int add_item; if (rear == MAX - 1) printf("Queue Overflow </p><p>"); else{ if (front == - 1) /*If queue is initially empty */ front = 0; printf("Inset the element in queue : "); scanf("%d", &add_item); rear = rear + 1; array[rear] = add_item; } } void display(){ int i; if (front == - 1) printf("Queue is empty </p><p>"); else{ printf("Queue is : </p><p>"); for (i = front; i <= rear; i++) printf("%d ", array[i]); printf("</p><p>"); } } void delete(){ if (front == - 1 || front > rear){ printf("Queue Underflow </p><p>"); return ; } else{ printf("Element deleted from queue is : %d</p><p>",array[front]); front = front + 1; } }OutputLorsque le programme ci-dessus est exécuté, il produit le résultat suivant -
1.Insert element to queue 2.Delete an element from queue 3.Display elements of queue 4.Quit Enter your choice: 1 Inset the element in queue: 12 1.Insert element to queue 2.Delete an element from queue 3.Display elements of queue 4.Quit Enter your choice: 1 Inset the element in queue: 23 1.Insert element to queue 2.Delete an element from queue 3.Display elements of queue 4.Quit Enter your choice: 1 Inset the element in queue: 34 1.Insert element to queue 2.Delete an element from queue 3.Display elements of queue 4.Quit Enter your choice: 2 Element deleted from queue is: 12 Queue is: 23 34 1.Insert element to queue 2.Delete an element from queue 3.Display elements of queue 4.Quit Enter your choice: 2 Element deleted from queue is: 23 Queue is: 34 1.Insert element to queue 2.Delete an element from queue 3.Display elements of queue 4.Quit Enter your choice: 4
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!