পুনরাবৃত্ত সন্নিবেশ বাছাই-
-এর জন্য নিম্নলিখিত জাভা প্রোগ্রামউদাহরণ
import java.util.Arrays; public class Demo{ static void recursive_ins_sort(int my_arr[], int arr_len){ if (arr_len <= 1) return; recursive_ins_sort( my_arr, arr_len-1 ); int last = my_arr[arr_len-1]; int j = arr_len-2; while (j >= 0 && my_arr[j] > last){ my_arr[j+1] = my_arr[j]; j--; } my_arr[j+1] = last; } public static void main(String[] args){ int my_arr[] = {11, 23, 67, 83, 42, 11, 0}; recursive_ins_sort(my_arr, my_arr.length); System.out.println("The array elements after implementing insertion sort is "); System.out.println(Arrays.toString(my_arr)); } }
আউটপুট
The array elements after implementing insertion sort is [0, 11, 11, 23, 42, 67, 83]
ডেমো নামের একটি ক্লাসে সন্নিবেশ সাজানোর জন্য স্ট্যাটিক রিকারসিভ ফাংশন রয়েছে। এই ফাংশন প্যারামিটার হিসাবে অ্যারে এবং এর দৈর্ঘ্য নেয়। এখানে, বেশ কয়েকটি শর্ত পরীক্ষা করা হয়। অ্যারের দৈর্ঘ্য 1-এর কম হলে, এটি যেমন আছে তেমনি ফেরত দেওয়া হয়। অন্যথায়, অ্যারের উপাদানগুলি অ্যারের আকার হ্রাস করে বারবার অ্যারের আকার হ্রাস করে সাজানো হয়৷
অ্যারের শেষ উপাদানটি সঠিক অবস্থানে স্থাপন করা হবে এবং অ্যারের শেষ উপাদানটি অ্যারের নির্দিষ্ট সূচক উপাদানটির সমান কিনা তা পরীক্ষা করতে সূচক হিসাবে অন্য একটি ভেরিয়েবল ব্যবহার করা হবে। এইভাবে, উপাদানগুলি তাদের সঠিক অবস্থানে স্থাপন করা হয়। যদি কী এর চেয়ে বড় একটি উপাদান সম্মুখীন হয়, এটি পরবর্তী অবস্থানে বৃদ্ধি করা হয়। প্রাসঙ্গিক আউটপুট কনসোলে প্রদর্শিত হয়।