কম্পিউটার

সি ভাষা ব্যবহার করে একটি সারিতে একটি উপাদান মুছে ফেলা ব্যাখ্যা করুন


ডাটা স্ট্রাকচার হল স্ট্রাকচার্ড পদ্ধতিতে সংগঠিত ডাটার সংগ্রহ। নীচে ব্যাখ্যা করা হিসাবে এটি দুটি প্রকারে বিভক্ত -

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

  • অরৈখিক ডেটা কাঠামো - ডেটা একটি ক্রমানুসারে সংগঠিত হয়। উদাহরণস্বরূপ, গাছ, গ্রাফ, সেট, টেবিল।

সারি

এটি একটি রৈখিক ডেটা স্ট্রাকচার, যেখানে সন্নিবেশটি পিছনের প্রান্তে করা হয় এবং সামনের প্রান্তে মুছে ফেলা হয়৷

সি ভাষা ব্যবহার করে একটি সারিতে একটি উপাদান মুছে ফেলা ব্যাখ্যা করুন

সারির ক্রম হল FIFO – ফার্স্ট ইন ফার্স্ট আউট

অপারেশনস

  • ঢোকান - একটি সারিতে একটি উপাদান সন্নিবেশ করান।
  • মুছুন - সারি থেকে একটি উপাদান মুছে ফেলা।

শর্তগুলি

  • সারি ওভার প্রবাহ − একটি সম্পূর্ণ সারিতে একটি উপাদান সন্নিবেশ করার চেষ্টা করা হচ্ছে৷

  • প্রবাহের অধীনে সারি − একটি খালি সারি থেকে একটি উপাদান মুছে ফেলার চেষ্টা করা হচ্ছে৷

অ্যালগরিদম

নিচে সন্নিবেশ ( ) -

এর জন্য একটি অ্যালগরিদম দেওয়া হল
  • সারি ওভারফ্লো পরীক্ষা করুন।
if (r==n)
printf ("Queue overflow")
  • অন্যথায়, সারিতে একটি উপাদান প্রবেশ করান।
q[r] = item
r++

নিচে মোছা ( ) এর জন্য একটি অ্যালগরিদম দেওয়া হল৷ −

  • প্রবাহের অধীনে সারির জন্য পরীক্ষা করুন।
if (f==r)
printf ("Queue under flow")
  • অন্যথায়, সারি থেকে একটি উপাদান মুছে দিন।
item = q[f]
f++

নিচে ডিসপ্লে ( ) এর জন্য একটি অ্যালগরিদম দেওয়া হল −

  • সারিটি খালি আছে কি না তা পরীক্ষা করুন৷
if (f==r)
printf("Queue is empty")
  • অন্যথায়, 'f' থেকে 'r' পর্যন্ত সমস্ত উপাদান প্রিন্ট করুন।
for(i=f; i<r; i++)
printf ("%d", q[i]);

প্রোগ্রাম

সারিতে থাকা একটি উপাদান মুছে ফেলার জন্য 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.Delete an element from queue\n");
      printf("3.Display elements of queue \n");
      printf("4.Quit \n");
      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 \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");
   }
}
void delete(){
   if (front == - 1 || front > rear){
      printf("Queue Underflow \n");
      return ;
   }
   else{
      printf("Element deleted from queue is : %d\n",array[front]);
      front = front + 1;
   }
}

আউটপুট

যখন উপরের প্রোগ্রামটি কার্যকর করা হয়, তখন এটি নিম্নলিখিত ফলাফল তৈরি করে -

1.Insert element to queue
2.Delete an element from queue
3.Display elements of queue
4.Quit
Enter your choice: 1
Inset the element in queue: 12
1.Insert element to queue
2.Delete an element from queue
3.Display elements of queue
4.Quit
Enter your choice: 1
Inset the element in queue: 23
1.Insert element to queue
2.Delete an element from queue
3.Display elements of queue
4.Quit
Enter your choice: 1
Inset the element in queue: 34
1.Insert element to queue
2.Delete an element from queue
3.Display elements of queue
4.Quit
Enter your choice: 2
Element deleted from queue is: 12
Queue is:
23 34
1.Insert element to queue
2.Delete an element from queue
3.Display elements of queue
4.Quit
Enter your choice: 2
Element deleted from queue is: 23
Queue is:
34
1.Insert element to queue
2.Delete an element from queue
3.Display elements of queue
4.Quit
Enter your choice: 4

  1. সি ভাষায় লিনিয়ার ডেটা স্ট্রাকচার কিউ ব্যাখ্যা কর

  2. সি ভাষায় পয়েন্টার ব্যবহার করে গাণিতিক ক্রিয়াকলাপ ব্যাখ্যা কর?

  3. সি ভাষায় সুইচ স্টেটমেন্ট ব্যাখ্যা কর

  4. গঠন ধারণা ব্যবহার করে সি ভাষায় বিট ক্ষেত্র ব্যাখ্যা করুন