ডেটা স্ট্রাকচার হলো স্ট্রাকচার্ড উপায়ে সংগঠিত ডেটার সংগ্রহ। এটি নিচের মত দুই টাইপে ভাগ করা হয়:
লিনিয়ার ডেটা স্ট্রাকচার - ডেটা লিনিয়ার ফ্যাশনে সংগঠিত। উদাহরণ: অ্যারে, স্ট্রাকচার, স্ট্যাক, কিউ, লিংকড লিস্ট।
নন-লিনিয়ার ডেটা স্ট্রাকচার - ডেটা হায়ারার্কিক্যাল উপায়ে সংগঠিত। উদাহরণ: ট্রি, গ্রাফ, সেট, টেবিল।
কিউ (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