এই আর্টিকেলে আমরা নিচের সমস্যা সমাধানের কথা শিখব।
সমস্যা: একটি অ্যারে দেওয়া আছে, আমাদের গনোম সর্ট ব্যবহার করে এটি সর্ট করতে হবে।
অ্যালগরিদম
1. প্রথমে আমরা অ্যারে ট্রাভার্স করি বাম থেকে ডান। 2. এখন, যদি করেন্ট এলিমেন্ট প্রিভিয়াস এলিমেন্ট থেকে বড় বা সমান হয় তবে আমরা এক স্টেপ আগে যাই। 3. অন্যথায়, যদি করেন্ট এলিমেন্ট প্রিভিয়াস এলিমেন্ট থেকে ছোট হয় তবে এই দুটি এলিমেন্ট সওয়াপ করি এবং এক স্টেপ পিছনে যাই। 4. উপরের স্টেপগুলো রিপিট করি যতক্ষণ না অ্যারের শেষে পৌঁছাই।
চলুন নিচের ইমপ্লিমেন্টেশনে সমাধানটি পর্যবেক্ষণ করি।
উদাহরণ
def gnomeSort(arr, n):
index = 0
while index < n:
if index == 0:
index = index + 1
if arr[index] >= arr[index - 1]:
index = index + 1
else:
arr[index], arr[index-1] = arr[index-1], arr[index]
index = index - 1
return arr
# মেইন
arr = [1, 4, 2, 3, 6, 5, 8, 7]
n = len(arr)
arr = gnomeSort(arr, n)
print("Sorted sequence is:")
for i in arr:
print(i, end=" ")
আউটপুট
Sorted sequence is: 1 2 3 4 5 6 7 8

সभी ভেরিয়েবল লোকাল স্কোপে ঘোষণা করা হয়েছে এবং তাদের রেফারেন্স উপরের চিত্রে দেখা যাচ্ছে।
উপসংহার
এই আর্টিকেলে আমরা শিখেছি কিভাবে গনোম সর্টের পাইথন প্রোগ্রাম লিখতে হয়।