Showing posts with label স্ট্যান্ডার্ড টেম্পলেট লাইব্রেরি. Show all posts
Showing posts with label স্ট্যান্ডার্ড টেম্পলেট লাইব্রেরি. Show all posts

কিউ

0 comments

কিউ এর বৈশিষ্ট্য হল First In First Out(FIFO) । অর্থাৎ কিউ , আগে আসলে আগে পাবেন এই নীতিতে কাজ করে।


এটিএম বুথের লাইনে সবার আগে যিনি থাকেন তিনিই সবার আগে টাকা তুলতে পারেন ।



কিউ তে ডাটা Insert করাকে বলা হয় enqueue এবং কিউ থেকে ডাটা Delete করাকে বলা হয় dequeue ।

# কিউ ডিক্লেয়ার :
  • queue<int>Q ;
কি নিচ্ছি(stack,vector,queue,priority_queue etc.)<কোন টাইপের নিচ্ছি(int,char,double)>যে নামে নিচ্ছি ;

# কিউ তে ডাটা Insert :
  • Q.push(100) ;
# কিউ থেকে ডাটা Delete :
  • Q.pop() ;
কিউ এর এই ফাংশনটি কিউ এর front value টি মুছে দেয়।

# কিউ এর front value Access :
  • Q.front() ;
# কিউ এর value গুলো print করতে হলে :
while(!Q.empty())
{
     cout<<Q.front()<<endl ;
     Q.pop();
}

queue এর header file হল :  #include<queue>

উদাহরণ :

স্ট্যাক

0 comments

স্ট্যাক এর বৈশিষ্ট্য হল Last In First Out(LIFO).

স্তুপের একদম উপরের বইটা সবার পরে রাখা হয়েছে তাই নেওয়ার সময় শেষে রাখা বইটাই আমরা সবার আগে নিই ।



স্ট্যাক এ ডাটা Insertion ও Deletion ।
# স্ট্যাক ডিক্লেয়ার :
  • stack<int>st ;
কি নিচ্ছি(stack,vector,queue,priority_queue etc.)<কোন টাইপের নিচ্ছি(int,char,double)>যে নামে নিচ্ছি ;

# স্ট্যাক এ ডাটা Insert :
  • st.push(100) ;
# স্ট্যাক থেকে ডাটা Delete :
  • st.pop() ;
স্ট্যাক এর এই ফাংশনটি স্ট্যাক এর top value টি মুছে দেয়।

# স্ট্যাক এর top value Access :
  • st.top() ;
# স্ট্যাক থেকে কোন value print করতে হলে :
while(!st.empty())
{
     cout<<st.top()<<endl ;
     st.pop();
}

stack এর header file হল :  #include<stack>

উদাহরণ :


ভেক্টর

0 comments

আমরা অ্যারেতে যে কাজ করি ভেক্টরেও একই কাজ করা হয় কিন্তু ভেক্টর এর ব্যবহার আরও মেমরি
efficient এবং ভেক্টর এর কিছু আলাদা বৈশিষ্ট্য আছে । অর্থাৎ যে পরিমান ডাটা ভেক্টরে Insert করা হয়, মেমরিতে ভেক্টর ঠিক সে পরিমাণই জায়গা নেয় । ভেক্টরে কাজ করে তা আবার ক্লিয়ার করে নিতে হয়। অন্যদিকে array এর সাইজ ডিক্লেয়ারের সাথে সাথেই array তে ডাটা থাকুক বা না থাকুক অ্যারের সাইজ এর সমান জায়গা মেমরিতে বরাদ্দ হয়ে যায় ।

# ভেক্টর ডিক্লেয়ার ঃ
  • 1D : vector<int>vec;
  • 2D : vector<int>vec[100];
2D vector এভাবেও ডিক্লেয়ার করা যায় : vector<vector<int>>vec;

# ভেক্টর এ ডাটা Insertion :
  • 1D : vec.push_back(2);
  • 2D : vec[index].push_back(3);
# ভেক্টর থেকে ডাটা Delete :
  • vec.pop_back() ;
এর মাধ্যমে vector থেকে সর্বশেষ insert কৃত ডাটা delete হয়ে যায়।

# ভেক্টর এর সাইজ নির্ণয় ঃ
  • 1D : vec.size();
  • 2D : vec[index].size();
# ভেক্টর কপি ঃ
  • vector<int>v,t;
v এ ডাটা insert এর পর t=v লিখলে t তে v এর সব ডাটা কপি হয়ে যায়।

# string এর ভেক্টর ঃ
  • Declaration : vector<string>vec;
string s = "abcd" , s1 = "efgh" , s2 = "ijkl" ;
vec.push_back(s);
vec.push_back(s1);
vec.push_back(s2);

#ভেক্টর ক্লিয়ার ঃ
প্রোগ্রামে একাধিক টেস্ট কেস এর ক্ষেত্রে ভেক্টর ব্যবহার করতে হলে তা অবশ্যই ক্লিয়ার করতে হয়।
  • 1D : vec.clear();
  • 2D : vec[index].clear();
ভেক্টরের header file হল : #include<vector>

উদাহরণ ঃ