Cプログラミング
 Computer >> コンピューター >  >> プログラミング >> Cプログラミング

C言語のキューに挿入する要素は何ですか?


データ構造は、構造化された方法で編成されたデータのコレクションです。以下に説明するように、2つのタイプに分けられます-

  • 線形データ構造 −データは直線的に編成されます。たとえば、配列、構造、スタック、キュー、リンクリスト。

  • 非線形データ構造 −データは階層的に編成されています。たとえば、ツリー、グラフ、セット、テーブル。

キュー

これは線形データ構造であり、挿入は後端で行われ、削除は前端で行われます。

C言語のキューに挿入する要素は何ですか?

キューの順序はFIFO–先入れ先出し

です。

操作

  • 挿入–要素をキューに挿入します。
  • 削除–キューから要素を削除します。

条件

  • キューオーバーフロー-要素を完全なキューに挿入しようとしています。

  • フロー中のキュー-空のキューから要素を削除しようとしています。

アルゴリズム

以下に示すのは、挿入()のアルゴリズムです。 −

  • キューのオーバーフローを確認します。
if (r==n)
printf ("Queue overflow")
  • それ以外の場合は、要素をキューに挿入します。
q[r] = item
r++

プログラム

以下は、キューに要素を挿入するためのCプログラムです-

#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 \n");
      printf("2.Display elements of queue \n");
      printf("3.Quit \n");
      printf("Enter your choice : ");
      scanf("%d", &choice);
      switch (choice){
         case 1:
            insert();
         break;
         case 2:
            display();
         break;
         case 3:
            exit(1);
         default:
         printf("Wrong choice \n");
      }
   }
}
void insert(){
   int add_item;
   if (rear == MAX - 1)
      printf("Queue Overflow \n");
   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 \n");
   else{
      printf("Queue is : \n");
      for (i = front; i <= rear; i++)
         printf("%d ", array[i]);
      printf("\n");
   }
}

出力

上記のプログラムを実行すると、次の結果が得られます-

1.Insert element to queue
2.Display elements of queue
3.Quit
Enter your choice: 1
Inset the element in queue: 34
1.Insert element to queue
2.Display elements of queue
3.Quit
Enter your choice: 1
Inset the element in queue: 24
1.Insert element to queue
2.Display elements of queue
3.Quit
Enter your choice: 2
Queue is:
34 24
1.Insert element to queue
2.Display elements of queue
3.Quit
Enter your choice: 3

  1. C言語でのシフト演算とは何ですか?

    問題 C言語を使用して、数値の左シフト、右シフト、および補数を表示する簡単なプログラムは何ですか? 解決策 左シフト 変数の値が1回左シフトされると、その値は2倍になります。 たとえば、a =10、次にa <<1 =20 右シフト 変数の値を1回右シフトすると、その値は元の値の半分になります。 1 =5 例 以下はシフト操作のCプログラムです- #include<stdio.h> main (){    int a=9;    printf("Rightshift of a = %d\n",a&

  2. C言語でのさまざまな検索手法は何ですか?

    検索手法とは、要素のリストから重要な要素を見つけることです。 指定された要素がリストに存在する場合、検索プロセスは成功したと言われます。 指定された要素がリストに存在しない場合、検索プロセスは失敗したと言われます。 C言語は、2種類の検索手法を提供します。それらは次のとおりです- 線形検索 二分探索 線形探索 キー要素の検索は直線的に行われます。 これは最も簡単な検索手法です。 リストが並べ替えられることは想定されていません。 制限-より多くの時間を消費し、システムの電力を削減します。 入力(i / p) ソートされていない要素のリスト、キー。 出力(o /