Heim >Backend-Entwicklung >C++ >Verwenden Sie die Sprache C, um das Löschen von Elementen in der Warteschlange zu erklären

Verwenden Sie die Sprache C, um das Löschen von Elementen in der Warteschlange zu erklären

王林
王林nach vorne
2023-08-28 09:45:151060Durchsuche

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.

Warteschlange

Es handelt sich um eine lineare Datenstruktur, das Einfügen erfolgt im Backend und das Löschen erfolgt im Frontend.

Verwenden Sie die Sprache C, um das Löschen von Elementen in der Warteschlange zu erklären

Die Reihenfolge der Warteschlange ist FIFO – First In, First Out

Operationen

  • Einfügen – Einfügen eines Elements in die Warteschlange
  • Löschen – Löschen eines Elements aus der Warteschlange.

Bedingungen

  • 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.

Algorithmus

Nachfolgend finden Sie den Algorithmus zum Einfügen von ( ) -

  • Auf Warteschlangenüberlauf prüfen.
if (r==n)
printf ("Queue overflow")
  • Andernfalls fügen Sie ein Element in die Warteschlange ein.
q[r] = item
r++
gibt unten einen Algorithmus für

deletion ( )

    Überprüfen Sie, ob die Warteschlange läuft.
  • if (f==r)
    printf ("Queue under flow")
      Andernfalls entfernen Sie ein Element aus der Warteschlange.
    item = q[f]
    f++
Unten ist der Algorithmus von

display ( ) -

    angegeben, der prüft, ob die Warteschlange leer ist.
  • if (f==r)
    printf("Queue is empty")
    ul>
      Andernfalls werden alle Elemente von „f“ bis „r“ gedruckt.
    • for(i=f; i<r; i++)
      printf ("%d", q[i]);
    Programm

    Das Folgende ist das C-Programm zum Entfernen von Elementen aus der Warteschlange –

    #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;
       }
    }
    Ausgabe

    Wenn 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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen