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

যেকোনো ডেটা টাইপের ভ্যারিয়েবল সর্টিং C++ প্রোগ্রাম


বিভিন্ন ডেটা টাইপের ভ্যালু দেওয়া আছে (ইন্টিজার, ফ্লোট, স্ট্রিং, বুল ইত্যাদি)। কাজ হলো একটি সাধারণ মেথড বা ফাংশন দিয়ে যেকোনো ডেটা টাইপের ভ্যারিয়েবল সর্ট করে ফলাফল দেখানো।

C++-তে std::sort ব্যবহার করে যেকোনো টাইপের অ্যারে সর্ট করা যায় যা C++ STL-এ উপলব্ধ। ডিফল্টলি sort ফাংশন অ্যাসেন্ডিং অর্ডারে সর্ট করে। Sort() ফাংশন তিনটি আর্গুমেন্ট নেয়:

  • অ্যারে লিস্টের শুরু এলিমেন্ট (কোথা থেকে সর্ট শুরু করবেন)।
  • অ্যারে লিস্টের শেষ এলিমেন্ট (কোথায় সর্ট শেষ করবেন)।
  • ডিফল্ট সেটিং পরিবর্তন করে ডিসেন্ডিং অর্ডারে সর্ট করতে greater() ফাংশন পাস করুন।

উদাহরণ

ইনপুট: int arr[] = { 2, 1, 5, 4, 6, 3} আউটপুট: 1, 2, 3, 4, 5, 6
ইনপুট: float arr[] = { 30.0, 21.1, 29.0, 45.0} আউটপুট: 21.1, 29.0, 30.0, 45.0
ইনপুট: string str = {"tutorials point is best", "tutorials point", "www.tutorialspoint.com"} আউটপুট: tutorials point, tutorials point is best, www.tutorialspoint.com

প্রোগ্রামে ব্যবহৃত পদ্ধতি -

  • বিভিন্ন ডেটা টাইপের ভ্যারিয়েবল ইনপুট নেওয়া।
  • sort() ফাংশন প্রয়োগ করে যেকোনো টাইপের অ্যারে সর্ট করা।
  • ফলাফল প্রিন্ট করা।

অ্যালগরিদম

শুরু
ধাপ ১ -> টেমপ্লেট ক্লাস তৈরি বিভিন্ন ডেটা টাইপের জন্য
    Template 
ধাপ ২ -> যেকোনো ডেটা টাইপের সোর্টেড অ্যারে প্রদর্শনের ফাংশন
    void print(T arr[], int size)
    লুপ size_t i = 0 থেকে i < size এবং ++i
        arr[i] প্রিন্ট
    শেষ
ধাপ ৩ -> main()-এ
    int num = 6 ঘোষণা
    int arr[num] = { 10, 90, 1, 2, 3 } ঘোষণা
    sort(arr, arr + num) কল
    print(arr, num) কল
    string str[num] = { "tutorials point is best", "tutorials point", "www.tutorialspoint.com" } ঘোষণা
    sort(str, str + num) কল
    print(str, num) কল
    float float_arr[num] = { 32.0, 12.76, 10.00 } ঘোষণা
    sort(float_arr, float_arr+num) কল
    print(float_arr, num) কল
শেষ

উদাহরণ

#include <bits/stdc++.h>
using namespace std;
// টেমপ্লেট ক্লাস ভেরিয়েবল
template 
void print(T arr[], int size) {
    for (size_t i = 0; i < size; ++i)
        cout << arr[i] << "   ";
    cout << endl;
}
int main() {
    int num = 6;
    int arr[num] = { 10, 90, 1, 2, 3 };
    sort(arr, arr + num);
    print(arr, num);
    string str[num] = { "tutorials point is best", "tutorials point", "www.tutorialspoint.com" };
    sort(str, str + num);
    print(str, num);
    float float_arr[num] = { 32.0, 12.76, 10.00 };
    sort(float_arr, float_arr+num);
    print(float_arr, num);
    return 0;
}

আউটপুট

0   1   2   3 10   90
tutorials point   tutorials point is best   www.tutorialspoint.com
10   12.76   32

  1. C এবং C++-এ 'long' ডেটা টাইপের প্রয়োজনীয়তা কি?

  2. C++ STL-এ ইউজার-ডিফাইনড ডেটা টাইপের জন্য সেট (Set)

  3. স্টুগ সার্ট বাস্তবায়ন করার C++ প্রোগ্রাম

  4. C++-এ ভেরিয়েবল এবং ভেরিয়েবলের টাইপগুলো কী?