কম্পিউটার

চিরুনি সাজানোর জন্য সি++ প্রোগ্রাম?


চিরুনি সাজানোর মৌলিক ধারণা এবং বুদবুদ সাজানোর ধারণা একই। অন্য কথায়, চিরুনি সাজানো হল বুদবুদ সাজানোর একটি উন্নতি। বুদ্বুদ বাছাই কৌশলে, আইটেমগুলি প্রতিটি পর্বে পরবর্তী আইটেমের সাথে তুলনা করা হয়। কিন্তু চিরুনি সাজানোর জন্য, আইটেমগুলি একটি নির্দিষ্ট ফাঁকে সাজানো হয়। প্রতিটি পর্যায় শেষ করার পরে, ব্যবধান হ্রাস করা হয়। এই সাজানোর জন্য হ্রাসকারী ফ্যাক্টর বা সঙ্কুচিত ফ্যাক্টর হল 1.3। এর মানে হল প্রতিটি পর্ব শেষ করার পরে ব্যবধান 1.3 দ্বারা বিভক্ত। সেরা ক্ষেত্রে সময় জটিলতা হল O(n log n)। O(n 2 /2n P গড় ক্ষেত্রের জন্য ) (p হল বৃদ্ধির সংখ্যা) এবং O(n 2 ) সবচেয়ে খারাপ ক্ষেত্রে।

অ্যালগরিদম

CombSort(অ্যারে, আকার)

ইনপুট − ডেটার একটি অ্যারে, এবং অ্যারের মোট সংখ্যা

আউটপুট - সাজানো অ্যারে

<প্রে>বিগিন গ্যাপ :=সাইজ পতাকা :=সত্য থাকাকালীন ব্যবধান ≠ 1 বা পতাকা =সত্য ডু গ্যাপ =ফ্লোর(গ্যাপ/1.3) //বিভাজনের পরে মেঝের মান যদি ফাঁক <1 তাহলে ফাঁক :=1 পতাকা =মিথ্যা i এর জন্য :=0 থেকে সাইজ - গ্যাপ -1 করুন যদি অ্যারে[i]> অ্যারে[i+গ্যাপ] তারপর অ্যারে [i+গ্যাপ] ফ্ল্যাগ =সত্যের সাথে অ্যারে অদলবদল করুন; সম্পন্ন করা শেষ

উদাহরণ

include#include namespace ব্যবহার করে std;void display(int *array, int size){ for(int i =0; i array[i+gap]){ swap(array[i], array[i+gap] ); পতাকা =সত্য; } } }} int main(){ int n; cout <<"উপাদানের সংখ্যা লিখুন:"; cin>> n; int arr[n]; //প্রদত্ত সংখ্যক উপাদান সহ একটি অ্যারে তৈরি করুন cout <<"এন্টার উপাদান:" <> arr[i]; } cout <<"বাছাই করার আগে অ্যারে:"; প্রদর্শন (arr, n); combSort(arr, n); cout <<"বাছাই করার পরে অ্যারে:"; প্রদর্শন(arr, n);}

আউটপুট

<প্রে>এলিমেন্টের সংখ্যা লিখুন:10এন্টার এলিমেন্ট:108 96 23 74 12 56 85 42 13 47 সাজানোর আগে অ্যারে:108 96 23 74 12 56 85 42 13 47 সাজানোর পরে অ্যারে:47 526 582747 প্রাক>
  1. রেডিক্স সাজানোর জন্য সি প্রোগ্রাম

  2. দ্বিখণ্ডন পদ্ধতির জন্য C++ প্রোগ্রাম

  3. C++ এ পিরামিডের আয়তনের জন্য প্রোগ্রাম

  4. QuickSort-এর জন্য C++ প্রোগ্রাম?