Thursday, June 28, 2018

Set

সেট অনেক ইন্টারেষ্টিং ডাটা স্ট্রাকচার। Set এ কোন Data Duplication নেই, একটি ডাটা কোন  সেটে বার বার Insert করলেও সেটি একবারই সেই সেট এ স্টোর হয়। আবার Set এ Insert করা ডাটা সমূহ Ascending অর্ডারে সর্টেড অবস্থায় থাকে। অতএব বুঝতেই পারছো সেট অনেক কাজের জিনিস !!!!

সেট কিভাবে ডিক্লেয়ার করবে তা জানাই এবার। সেট ডিক্লেয়ার করতে হয় এইভাবে-
set <data type> variable name;
set<int> s;

ডিক্লারেশন করার পর এখন S নামের সেটটিতে কিছু ডাটা Insert করব।
s.insert(10);
s.insert(20);
s.insert(10);
s.insert(5);

এখন একটি মজার প্রোগ্রামিং প্রব্লেম নিয়ে আলোচনা করি। মাঝে মাঝে প্রোগ্রামিং প্রতিযোগিতায় অনেকগুলো সংখ্যা দিয়ে বলা থাকে কতটি মৌলিক সংখ্যা আছে তা বের কর। তুমি যদি সেট সম্পর্কে জানো তাহলে সেটি তুমি মুহূর্তেই বের করতে পারো। শুধু একটির পর একটি ইনপুট নিবে এবং সেগুলোকে সেটে Input করবে। এরপর সেটের size() বের করলেই তোমাকে দেয়া প্রব্লেমটি সল্ভ হয়ে গেলো।

Code:   
/*  Set  */

#include<cstdio>
#include<set>
using namespace std;
int main()
{
    int a;
    set<int> s;
    set<int>::iterator i;
    for(int j=0; ; j++)
    {
        scanf("%d", &a);
        if(a==0)
        {
            break;
        }
        s.insert(a);
    }
    for(i=s.begin(); i!=s.end(); i++)
    {
        printf("%d ", *i);
    }
    return 0;
}


No comments:

Post a Comment