ডাটা স্ট্রাকচার হল স্ট্রাকচার্ড পদ্ধতিতে সংগঠিত ডাটার সংগ্রহ। নীচে ব্যাখ্যা করা হিসাবে এটি দুটি প্রকারে বিভক্ত -
-
লিনিয়ার ডেটা স্ট্রাকচার - ডেটা একটি লিনিয়ার ফ্যাশনে সংগঠিত হয়। উদাহরণস্বরূপ, অ্যারে, স্ট্রাকচার, স্ট্যাক, সারি, লিঙ্ক করা তালিকা।
-
অরৈখিক ডেটা কাঠামো - ডেটা একটি ক্রমানুসারে সংগঠিত হয়। উদাহরণস্বরূপ, গাছ, গ্রাফ, সেট, টেবিল।
সারি
এটি একটি রৈখিক ডেটা স্ট্রাকচার, যেখানে সন্নিবেশটি পিছনের প্রান্তে করা হয় এবং সামনের প্রান্তে মুছে ফেলা হয়৷
সারির ক্রম হল 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