কম্পিউটার টিউটোরিয়াল

C#-এ অ্যারে অবরোহী ক্রমে সর্ট করা

C#-এ একটি ইন্টিজার অ্যারে অবরোহী ক্রমে (Descending Order) সর্ট করার জন্য Array.Sort মেথডের সাথে কাস্টম কম্পারিজন ব্যবহার করা হয়।

প্রাথমিক অ্যারে

int[] arr = new int[] { 87, 23, 65, 29, 67 };

সর্ট করার কোড

Array.Sort<int>(arr, new Comparison<int>((val1, val2) => val2.CompareTo(val1)));

সম্পূর্ণ উদাহরণ

using System;
using System.Collections.Generic;

public class Demo
{
    public static void Main(string[] args)
    {
        int[] arr = new int[] { 87, 23, 65, 29, 67 };

        Console.WriteLine("প্রাথমিক অ্যারে:");
        foreach (int item in arr)
        {
            Console.WriteLine(item);
        }

        // অবরোহী ক্রমে সর্ট
        Array.Sort<int>(arr, new Comparison<int>((val1, val2) => val2.CompareTo(val1)));

        Console.WriteLine("\nঅবরোহী ক্রমে সর্ট করা অ্যারে:");
        foreach (int item in arr)
        {
            Console.WriteLine(item);
        }
    }
}

আউটপুট

প্রাথমিক অ্যারে:
87
23
65
29
67

অবরোহী ক্রমে সর্ট করা অ্যারে:
87
67
65
29
23

বিকল্প পদ্ধতিগুলো

১. LINQ ব্যবহার (নতুন অ্যারে তৈরি হয়)

using System.Linq;

int[] sortedDesc = arr.OrderByDescending(x => x).ToArray();

২. Array.Sort + Array.Reverse (দুটি স্টেপ)


Array.Sort(arr);      // আরোহী ক্রমে সর্ট
Array.Reverse(arr);   // উল্টে দিন

৩. Comparison ডেলিগেটের পরিবর্তে ল্যাম্বডা এক্সপ্রেশন


// উভয় সমতুল্য:
Array.Sort(arr, (a, b) => b.CompareTo(a));
// অথবা
Array.Sort(arr, (a, b) => -a.CompareTo(b));

পারফরম্যান্স তুলনা

পদ্ধতিমেমরিস্পিডমূল অ্যারে পরিবর্তন
Array.Sort + ComparisonO(1) এক্সট্রাদ্রুততমহ্যাঁ
Array.Sort + ReverseO(1) এক্সট্রাদ্রুতহ্যাঁ
LINQ OrderByDescendingO(n) নতুন অ্যারেকुछটা ধীরনা

কब কোন পদ্ধতি ব্যবহার করবেন

  • Array.Sort + Comparison: সর্বোচ্চ পারফরম্যান্স দরকার হলে, মূল অ্যারে পরিবর্তন করা সমস্যা না হলে।
  • LINQ: কোড পঠনযোগ্যতা এবং ফাংশনাল স্টাইল পছন্দ হলে।
  • Array.Sort + Reverse: লিগ্যাসি কোড বা সহজ বুঝতে চাইলে।
  1. C# প্রোগ্রাম: অ্যারে উপাদান অবরোহক্রমে সাজানোর জন্য

  2. C# তে লিস্ট উপাদান অবরোহক্রমে সাজানো

  3. C#-এ অ্যারে রিভার্স করা (Reverse an Array)

  4. অ্যারে (লিস্ট) ডিসেন্ডিং অর্ডারে সর্ট করার পাইথন প্রোগ্রাম