গনোম সোর্ট একবারে একটি এলিমেন্টের সাথে কাজ করে এবং সেটিকে প্রকৃত পজিশনে নিয়ে আসে। গনোম সোর্ট ইমপ্লিমেন্ট করার একটি উদাহরণ নিচে দেখানো হলো:
উদাহরণ
import java.util.Arrays; public class Demo{ static void gnome_sort(int my_arr[], int n){ int index = 0; while (index < n){ if (index == 0) index++; if (my_arr[index] >= my_arr[index - 1]) index++; else{ int temp = 0; temp = my_arr[index]; my_arr[index] = my_arr[index - 1]; my_arr[index - 1] = temp; index--; } } return; } public static void main(String[] args){ int my_arr[] = { 34, 67, 89, 11, 0 , -21 }; gnome_sort(my_arr, my_arr.length); System.out.println("The array after perfroming gnome sort on it is "); System.out.println(Arrays.toString(my_arr)); } }আউটপুট
The array after perfroming gnome sort on it is [-21, 0, 11, 34, 67, 89]
Demo ক্লাসে 'gnome_sort' নামে একটি স্ট্যাটিক ফাংশন আছে। এখানে 'index' নামক একটি ভেরিয়েবল ০ হিসেবে অ্যাসাইন করা হয়েছে। যদি এই ইনডেক্স মান অ্যারের দৈর্ঘ্য থেকে ছোট হয়, ইনডেক্স মান ০ কিনা চেক করা হয়। যদি ০ হয়, তবে এটি ১ বাড়ানো হয়। অন্যথায়, যদি নির্দিষ্ট ইনডেক্সের মান অ্যারের 'index-1' এর মান থেকে বড় হয়, 'temp' নামক একটি ভেরিয়েবল ০ হিসেবে অ্যাসাইন করা হয় এবং এলিমেন্টগুলো সওয়্যাপ করা হয়। 'index' মান ১ কমানো হয়।
main ফাংশনে, নির্দিষ্ট মান সহ একটি অ্যারে সংজ্ঞায়িত করা হয়েছে এবং এই অ্যারে ও এর দৈর্ঘ্যের ওপর 'gnome_sort' ফাংশন কল করা হয়েছে। আউটপুট কনসোলে প্রিন্ট করা হয়েছে।