কম্পিউটার টিউটোরিয়াল

C ভাষায় কিউ (Queue) তে এলিমেন্ট ইনসার্ট করার পদ্ধতি


ডেটা স্ট্রাকচার হলো স্ট্রাকচার্ড উপায়ে সংগঠিত ডেটার সংগ্রহ। এটি নিচের মত দুই টাইপে ভাগ করা হয়:

  • লিনিয়ার ডেটা স্ট্রাকচার - ডেটা লিনিয়ার ফ্যাশনে সংগঠিত। উদাহরণ: অ্যারে, স্ট্রাকচার, স্ট্যাক, কিউ, লিংকড লিস্ট।

  • নন-লিনিয়ার ডেটা স্ট্রাকচার - ডেটা হায়ারার্কিক্যাল উপায়ে সংগঠিত। উদাহরণ: ট্রি, গ্রাফ, সেট, টেবিল।

কিউ (Queue)

এটি একটি লিনিয়ার ডেটা স্ট্রাকচার, যেখানে ইনসার্শন রিয়ার এন্ডে করা হয় এবং ডিলিশন ফ্রন্ট এন্ডে করা হয়।

C ভাষায় কিউ (Queue) তে এলিমেন্ট ইনসার্ট করার পদ্ধতি

কিউ-এর অর্ডার হলো FIFO - First In First Out

অপারেশন

  • ইনসার্ট - কিউ-তে একটি এলিমেন্ট ইনসার্ট করা।
  • ডিলিট - কিউ থেকে একটি এলিমেন্ট ডিলিট করা।

শর্তাবলী

  • কিউ ওভারফ্লো - পূর্ণ কিউ-তে এলিমেন্ট ইনসার্ট করার চেষ্টা।

  • কিউ অন্ডারফ্লো - খালি কিউ থেকে এলিমেন্ট ডিলিট করার চেষ্টা।

অ্যালগরিদম

ইনসার্শন ( ) এর জন্য অ্যালগরিদম নিচে দেওয়া হলো:

  • কিউ ওভারফ্লো চেক করুন।
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. সি ভাষায় কনস্ট্যান্ট (Constant) কী এবং উদাহরণ

  2. সি ভাষায় টোকেন (Tokens) কী?

  3. সি ভাষায় শিফট অপারেশন (লেফট, রাইট শিফট এবং কমপ্লিমেন্ট)

  4. সি ভাষায় বিভিন্ন সার্চিং টেকনিক কী কী?