বাছাই হল উপাদানগুলিকে আরোহী (বা) অবরোহ ক্রমে সাজানোর প্রক্রিয়া।
বাছাইয়ের প্রকারগুলি
সি ভাষা পাঁচটি সাজানোর কৌশল প্রদান করে, যা নিম্নরূপ -
- বুদবুদ বাছাই (বা) বিনিময় সাজান
- নির্বাচন বাছাই
- সন্নিবেশ বাছাই(বা) লিনিয়ার সর্ট
- দ্রুত বাছাই (বা) পার্টিশন বিনিময় বাছাই
- সর্ট মার্জ (বা) এক্সটার্নাল সর্ট
দ্রুত সাজান
এটি একটি ডিভাইড অ্যান্ড কনক্যুয়ার অ্যালগরিদম৷
৷- ধাপ 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