Heim >Backend-Entwicklung >C++ >Verwenden Sie die Sprache C, um das Löschen von Elementen in der Warteschlange zu erklären
Eine Datenstruktur ist eine Sammlung von Daten, die strukturiert organisiert sind. Es ist in zwei Typen unterteilt, wie unten erwähnt:
Lineare Datenstruktur – Daten sind linear organisiert. Zum Beispiel Arrays, Strukturen, Stapel, Warteschlangen und verknüpfte Listen.
Nichtlineare Datenstruktur – Daten sind hierarchisch organisiert. Zum Beispiel Bäume, Diagramme, Mengen, Tabellen.
Es handelt sich um eine lineare Datenstruktur, das Einfügen erfolgt im Backend und das Löschen erfolgt im Frontend.
Die Reihenfolge der Warteschlange ist FIFO – First In, First Out
Warteschlangenüberlauf – Versuchen Sie, ein Element in eine volle Warteschlange einzufügen.
Die Warteschlange befindet sich im Streaming-Status − Versuchen Sie, ein Element aus der leeren Warteschlange zu entfernen.
Nachfolgend finden Sie den Algorithmus zum Einfügen von ( ) -
if (r==n) printf ("Queue overflow")
q[r] = item r++gibt unten einen Algorithmus für
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; } }AusgabeWenn das obige Programm ausgeführt wird, erzeugt es das folgende Ergebnis –
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
Das obige ist der detaillierte Inhalt vonVerwenden Sie die Sprache C, um das Löschen von Elementen in der Warteschlange zu erklären. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!