মডিউল ১_৫ঃ অ্যাডজাসেন্সি লিস্ট ইমপ্লিমেন্টশন
অ্যাডজাসেন্সি লিস্ট ইমপ্লিমেন্টশন
গ্রাফের Number of nodes (n) and Number of Edges (e) ইনপুট নেয়া হল। একটি N সাইজের array of vector delcare করা হল।
int n, e;
cin >> n >> e;
vector<int> mat[n];
e বার লুপ চালিয়ে, লুপের ভিতর edge এর নোড ২টি a and b ইনপুট নেয়া হল । এরপর অ্যারের a ইনডেক্সে থাকা vector এর মধ্যে b কে পুশ করা হল এবং একইভাবে অ্যারের b ইনডেক্সে থাকা vector এর মধ্যে a কে পুশ করা হল।
while (e--)
{
int a, b;
cin >> a >> b;
mat[a].push_back(b);
mat[b].push_back(a);
}
নিচের লুপটিতে অ্যারেটির 3 ইনডেক্সে থাকা vector টির মধ্যে থাকা নোড গুলোকে প্রিন্ট করা হয়েছে , সেই প্রিন্ট নোডগুলোর সাথে 3 নোডের edge রয়েছে।
for (int i = 0; i < mat[3].size(); i++)
{
cout << mat[3][i] << " ";
}
সম্পূর্ণ কোড অ্যাডজাসেন্সি লিস্ট ইমপ্লিমেন্টশন
#include <bits/stdc++.h>
using namespace std;
int main()
{
int n, e;
cin >> n >> e;
vector<int> mat[n];
while (e--)
{
int a, b;
cin >> a >> b;
mat[a].push_back(b);
mat[b].push_back(a);
}
for (int i = 0; i < mat[3].size(); i++)
{
cout << mat[3][i] << " ";
}
return 0;
}
Last updated