কম্পিউটার

সি ভাষায় দ্রুত সাজানোর কৌশল ব্যাখ্যা কর।


বাছাই হল উপাদানগুলিকে আরোহী (বা) অবরোহ ক্রমে সাজানোর প্রক্রিয়া।

বাছাইয়ের প্রকারগুলি

সি ভাষা পাঁচটি সাজানোর কৌশল প্রদান করে, যা নিম্নরূপ -

  • বুদবুদ বাছাই (বা) বিনিময় সাজান
  • নির্বাচন বাছাই
  • সন্নিবেশ বাছাই(বা) লিনিয়ার সর্ট
  • দ্রুত বাছাই (বা) পার্টিশন বিনিময় বাছাই
  • সর্ট মার্জ (বা) এক্সটার্নাল সর্ট

দ্রুত সাজান

এটি একটি ডিভাইড অ্যান্ড কনক্যুয়ার অ্যালগরিদম৷

  • ধাপ 1 - একটি অ্যারে থেকে একটি উপাদান চয়ন করুন, এটিকে পিভট উপাদান হিসাবে কল করুন৷
  • ধাপ 2 - একটি সাজানো না করা অ্যারে উপাদানকে দুটি অ্যারেতে ভাগ করুন৷
  • ধাপ 3 − যদি পিভট এলিমেন্টের চেয়ে কম মান প্রথম সাব অ্যারের অধীনে আসে, তাহলে পিভটের থেকে বেশি মানের অবশিষ্ট উপাদানগুলি দ্বিতীয় সাব অ্যারেতে আসে।

নীচে দেওয়া একটি উদাহরণ বিবেচনা করুন, যেখানে

  • P হল পিভট উপাদান।
  • L হল বাম পয়েন্টার।
  • R হল সঠিক পয়েন্টার।

উপাদানগুলি হল 6, 3, 7, 2, 4, 5।

সি ভাষায় দ্রুত সাজানোর কৌশল ব্যাখ্যা কর।

সি ভাষায় দ্রুত সাজানোর কৌশল ব্যাখ্যা কর।

সি ভাষায় দ্রুত সাজানোর কৌশল ব্যাখ্যা কর।

সি ভাষায় দ্রুত সাজানোর কৌশল ব্যাখ্যা কর।

সি ভাষায় দ্রুত সাজানোর কৌশল ব্যাখ্যা কর।

এখন,

  • পিভট স্থির অবস্থানে আছে।
  • সমস্ত বাম উপাদান কম।
  • সঠিক উপাদানগুলি পিভটের চেয়ে বড়৷
  • এখন, অ্যারেটিকে 2টি সাব অ্যারে বাম অংশ এবং ডান অংশে ভাগ করুন৷
  • বাম পার্টিশন নিন দ্রুত সাজানোর প্রয়োগ করুন।

সি ভাষায় দ্রুত সাজানোর কৌশল ব্যাখ্যা কর।

সি ভাষায় দ্রুত সাজানোর কৌশল ব্যাখ্যা কর।

এখন,

  • পিভট স্থির অবস্থানে আছে।
  • সমস্ত বাম উপাদান কম এবং সাজানো
  • সঠিক উপাদানগুলি বৃহত্তর এবং সাজানো ক্রমে রয়েছে৷
  • চূড়ান্ত বাছাই করা তালিকাটি দুটি সাব অ্যারেকে একত্রিত করছে 2, 3, 4, 5, 6, 7

উদাহরণ

দ্রুত সাজানোর কৌশল -

ব্যবহার করে উপাদানগুলিকে সাজানোর জন্য C প্রোগ্রামটি নিচে দেওয়া হল
#include<stdio.h>
void quicksort(int number[25],int first,int last){
   int i, j, pivot, temp;
   if(first<last){
      pivot=first;
      i=first;
      j=last;
      while(i<j){
         while(number[i]<=number[pivot]&&i<last)
         i++;
         while(number[j]>number[pivot])
         j--;
         if(i<j){
            temp=number[i];
            number[i]=number[j];
            number[j]=temp;
         }
      }
      temp=number[pivot];
      number[pivot]=number[j];
      number[j]=temp;
      quicksort(number,first,j-1);
      quicksort(number,j+1,last);
   }
}
int main(){
   int i, count, number[25];
   printf("How many elements are u going to enter?: ");
   scanf("%d",&count);
   printf("Enter %d elements: ", count);
   for(i=0;i<count;i++)
   scanf("%d",&number[i]);
   quicksort(number,0,count-1);
   printf("Order of Sorted elements: ");
   for(i=0;i<count;i++)
   printf(" %d",number[i]);
   return 0;
}

আউটপুট

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

How many elements are u going to enter?: 10
Enter 10 elements: 2 3 5 7 1 9 3 8 0 4
Order of Sorted elements: 0 1 2 3 3 4 5 7 8 9

  1. C ভাষায় ক্যারেক্টার অপারেশন ব্যাখ্যা কর

  2. সি ভাষায় সাজানোর কৌশল ব্যাখ্যা কর

  3. সি ভাষায় ইউনিয়নকে পয়েন্টার ব্যাখ্যা কর

  4. সি ল্যাঙ্গুয়েজে পয়েন্টার এক্সেসিংয়ের ধারণাটি ব্যাখ্যা কর