কম্পিউটার

C# এ শেল সাজানোর প্রোগ্রাম


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

একটি প্রোগ্রাম যা C#-এ শেল সাজানোর প্রদর্শন করে তা নিম্নরূপ দেওয়া হল −

উদাহরণ

using System;
namespace ShellSortDemo {
   public class Example {
      static void shellSort(int[] arr, int n) {
         int i, j, pos, temp;
         pos = 3;
         while (pos > 0) {
            for (i = 0; i < n; i++) {
               j = i;
               temp = arr[i];
               while ((j >= pos) && (arr[j - pos] > temp)) {
                  arr[j] = arr[j - pos];
                  j = j - pos;
               }
               arr[j] = temp;
            }
            if (pos / 2 != 0)
            pos = pos / 2;
            else if (pos == 1)
            pos = 0;
            else
            pos = 1;
         }
      }
      static void Main(string[] args) {
         int[] arr = new int[] { 56, 12, 99, 32, 1, 95, 25, 5, 100, 84 };
         int n = arr.Length;
         int i;
         Console.WriteLine("Shell Sort");
         Console.Write("Initial array is: ");
         for (i = 0; i < n; i++) {
            Console.Write(arr[i] + " ");
         }
         shellSort(arr, n);
         Console.Write("\nSorted Array is: ");
         for (i = 0; i < n; i++) {
            Console.Write(arr[i] + " ");
         }
      }
   }
}

আউটপুট

উপরের প্রোগ্রামের আউটপুট নিম্নরূপ।

Shell Sort
Initial array is: 56 12 99 32 1 95 25 5 100 84
Sorted Array is: 1 5 12 25 32 56 84 95 99 100

এখন আসুন উপরের প্রোগ্রামটি বুঝতে পারি।

main() ফাংশনে, প্রথমে প্রাথমিক অ্যারে প্রদর্শিত হয়। তারপর, অ্যারেতে শেল সাজানোর জন্য shellSort() ফাংশনটিকে বলা হয়। এর জন্য কোড স্নিপেট নিম্নরূপ দেওয়া হয়েছে -

int[] arr = new int[] { 56, 12, 99, 32, 1, 95, 25, 5, 100, 84 };
int n = arr.Length;
int i;
Console.WriteLine("Shell Sort");
Console.Write("Initial array is: ");
for (i = 0; i < n; i++) {
   Console.Write(arr[i] + " ");
}
shellSort(arr, n);

shellSort() ফাংশনে প্রদত্ত অ্যারে একটি while loop এবং a for loop ব্যবহার করে সাজানো হয়। শেল সাজানোর জন্য ব্যবহৃত ব্যবধানটি হল 3। এর জন্য কোড স্নিপেট নিম্নরূপ দেওয়া হল।

static void shellSort(int[] arr, int n) {
   int i, j, pos, temp;
   pos = 3;
   while (pos > 0) {
      for (i = 0; i < n; i++) {
         j = i;
         temp = arr[i];
         while ((j >= pos) && (arr[j - pos] > temp)) {
            arr[j] = arr[j - pos];
            j = j - pos;
         }  
         arr[j] = temp;
      }
      if (pos / 2 != 0)
      pos = pos / 2;
      else if (pos == 1)
      pos = 0;
      else
      pos = 1;
   }
}

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

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

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

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