কম্পিউটার

পুনরাবৃত্ত বাবল সাজানোর জন্য সি প্রোগ্রাম


বাবল সর্ট হল একটি সহজ বাছাই অ্যালগরিদম যা সংলগ্ন উপাদানগুলির তুলনা করে ডেটা সাজানোর জন্য ব্যবহৃত হয়৷ সমস্ত উপাদান পর্যায়ক্রমে তুলনা করা হয়. প্রথম পর্যায়টি শেষে সবচেয়ে বড় মান রাখে, দ্বিতীয় ধাপটি দ্বিতীয় শেষ অবস্থানে দ্বিতীয় বৃহত্তম উপাদান রাখে এবং সম্পূর্ণ তালিকাটি সাজানো না হওয়া পর্যন্ত।

বাবল সাজানোর অ্যালগরিদম

  • int arr[5]={ 5,4,2,1,3 };

  • int i, j;

  • সূচী i=0 থেকে i<অ্যারে সাইজ

    এ যাত্রা করুন
    • সূচী j=0 থেকে অ্যারের আকার - i - 1

      এ যান
    • যদি arr[i]>arr[j] swap arr[i] এর সাথে arr[j]

  • সমাপ্তি

পুনরাবৃত্ত বাবল বাছাই

  • যদি অ্যারের দৈর্ঘ্য 1 হয় তাহলে ফিরুন

  • একবার ট্র্যাভার্স অ্যারে এবং শেষে সবচেয়ে বড় উপাদান ঠিক করুন

  • শেষ উপাদান ব্যতীত বাকি অ্যারের জন্য পুনরাবৃত্তিমূলকভাবে ধাপ 2 সম্পাদন করুন

উদাহরণ

ইনপুট − Arr[] ={ 5,7,2,3,1,4 }; দৈর্ঘ্য=6

আউটপুট − সাজানো অ্যারে:1 2 3 4 5 7

ব্যাখ্যা

প্রথম পাস5 7 2 3 1 4 → অদলবদল → 5 2 7 3 1 45 2 7 3 1 4 → অদলবদল → 5 2 3 7 1 45 2 3 7 1 4 → অদলবদল → 5 2 3 1 741 7 4 → অদলবদল → 5 2 3 1 4 7 সেকেন্ড পাস5 2 3 1 4 7 → অদলবদল → 2 5 3 1 4 72 5 3 1 4 7 → অদলবদল → 2 3 5 1 4 72 3 5 → 72 → 4 72 1 5 4 72 3 1 5 4 7 → অদলবদল → 2 3 1 4 5 7 তৃতীয় পাস2 3 1 4 5 7 → অদলবদল → 2 1 3 4 5 72 1 3 4 5 7 না অদলবদল চতুর্থ পাস2 → 415 7 2 3 4 5 71 2 3 4 5 7 আরও পুনরাবৃত্তিতে কোন অদলবদল নেই

ইনপুট − Arr[] ={ 1, 2, 3, 3, 2 };

আউটপুট − সাজানো অ্যারে:1 2 2 3 3

ব্যাখ্যা

প্রথম পাস1 2 3 3 2 → অদলবদল → 1 2 3 2 31 2 3 2 3 → অদলবদল → 1 2 2 3 31 2 2 3 3 আরও পুনরাবৃত্তিতে কোনও অদলবদল নেই দ্বিতীয় পাস1 2 2 3 3 এটি আরও অদলবদল নয় পূর্বে> 

নিচের প্রোগ্রামে ব্যবহৃত পদ্ধতিটি নিম্নরূপ

বুদবুদ সাজানোর পুনরাবৃত্তিমূলক পদ্ধতিতে, বেস কেস হল অ্যারের দৈর্ঘ্য =1। অন্যথায় লুপের জন্য একক ব্যবহার করে অ্যারেটি অতিক্রম করুন এবং সেই অনুযায়ী উপাদানগুলি অদলবদল করুন।

  • ইনপুট অ্যারে Arr[] এবং এর মধ্যে উপাদানের সংখ্যা হিসাবে দৈর্ঘ্য নিন।

  • ফাংশন recurbublSort(int arr[], int len) অ্যারে এবং এর দৈর্ঘ্য নেয় এবং বুদবুদ সাজানোর ব্যবহার করে অ্যারেটিকে পুনরাবৃত্তিমূলকভাবে সাজায়।

  • একটি পরিবর্তনশীল তাপমাত্রা নিন।

  • যদি অ্যারের দৈর্ঘ্য 1 হয় তাহলে অকার্যকর রিটার্ন করুন।

  • অন্যথায় লুপের জন্য একক ব্যবহার করে অ্যারেটি অতিক্রম করুন এবং প্রতিটি উপাদানের জন্য arr[i]>arr[i+1], সেই উপাদানগুলি অদলবদল করুন।

  • temp=arr[i], arr[i]=arr[i+1] এবং arr[i+1]=temp সেট করুন।

  • এখন দৈর্ঘ্য 1 দ্বারা হ্রাস করুন কারণ আগের লুপটি সবচেয়ে বড় উপাদানটিকে শেষ অবস্থানে রেখেছিল।

  • RecurbublSort(arr,len) এ একটি পুনরাবৃত্তিমূলক কল করুন।

  • সমস্ত কলের শেষে, যখন লেন 1 হয়ে যায় তখন আমরা পুনরাবৃত্তি থেকে বেরিয়ে আসব এবং অ্যারেটি সাজানো হবে৷

  • প্রধান ভিতরে সাজানো অ্যারে প্রিন্ট করুন।

উদাহরণ

#include void recurbublSort(int arr[], int len){ int temp; if (len ==1){ ফেরত; } এর জন্য (int i=0; i arr[i+1]){ temp=arr[i]; arr[i] =arr[i+1]; arr[i+1]=temp; } } len=len-1; recurbublSort(arr, len);}int main(){ int Arr[] ={21, 34, 20, 31, 78, 43, 66}; int length =sizeof(Arr)/sizeof(Arr[0]); recurbublSort(Arr, length); printf("সর্টেড অ্যারে :"); জন্য(int i=0;i<দৈর্ঘ্য;i++){ printf("%d",Arr[i]); } রিটার্ন 0; }

আউটপুট

যদি আমরা উপরের কোডটি চালাই তবে এটি নিম্নলিখিত আউটপুট তৈরি করবে

 সাজানো অ্যারে:20 21 31 34 43 66 78

  1. হিপ সাজানোর জন্য পাইথন প্রোগ্রাম

  2. ককটেল সাজানোর জন্য পাইথন প্রোগ্রাম

  3. বাবল সাজানোর জন্য পাইথন প্রোগ্রাম

  4. নির্বাচন সাজানোর জন্য পাইথন প্রোগ্রাম