Rumah > pembangunan bahagian belakang > C++ > Gunakan bahasa C untuk menerangkan pemadaman elemen dalam baris gilir

Gunakan bahasa C untuk menerangkan pemadaman elemen dalam baris gilir

王林
Lepaskan: 2023-08-28 09:45:15
ke hadapan
1110 orang telah melayarinya

Struktur data ialah koleksi data yang disusun secara berstruktur. Ia terbahagi kepada dua jenis seperti yang dinyatakan di bawah -

  • Struktur Data Linear - Data disusun secara linear. Contohnya, tatasusunan, struktur, tindanan, baris gilir dan senarai terpaut.

  • Struktur Data Tak Linear - Data disusun mengikut hierarki. Contohnya, pokok, graf, set, jadual.

Barisan

Ia adalah struktur data linear, sisipan dilakukan di bahagian belakang dan pemadaman dilakukan di bahagian hadapan. .

Gunakan bahasa C untuk menerangkan pemadaman elemen dalam baris gilirSyarat

Limpahan baris gilir − Cuba masukkan elemen ke dalam baris gilir penuh.

  • Baris gilir dalam keadaan penstriman − Cuba untuk mengalih keluar elemen daripada baris gilir kosong.

Algoritma

    Diberikan di bawah adalah algoritma untuk memasukkan ( ) -
  • Semak limpahan baris gilir.
  • if (r==n)
    printf ("Queue overflow")
    Salin selepas log masuk

    Jika tidak, masukkan elemen ke dalam baris gilir.
q[r] = item
r++
Salin selepas log masuk
memberikan di bawah ialah algoritma untuk

pemadaman ( )

    Semak baris gilir dalam aliran.
  • if (f==r)
    printf ("Queue under flow")
    Salin selepas log masuk
      <
    item = q[f]
    f++
    Salin selepas log masuk
Diberikan di bawah ialah algoritma
    paparan ( )
  • -

menyemak sama ada baris gilir kosong.

if (f==r)
printf("Queue is empty")
Salin selepas log masuk

    Jika tidak, cetak semua elemen dari 'f' hingga 'r'.
  • for(i=f; i<r; i++)
    printf ("%d", q[i]);
    Salin selepas log masuk
Program

Berikut ialah program C untuk mengalih keluar elemen daripada baris gilir −

#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;
   }
}
Salin selepas log masuk
    Output
  • Apabila program di atas dilaksanakan, ia menghasilkan keputusan berikut - ul>rreee

Atas ialah kandungan terperinci Gunakan bahasa C untuk menerangkan pemadaman elemen dalam baris gilir. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan