কম্পিউটার

std::vector::resize() বনাম std::vector::reserve() C++ এ


ভেক্টরগুলির স্বয়ংক্রিয়ভাবে পরিবর্তন করার ক্ষমতা রয়েছে গতিশীল অ্যারেগুলির মতো যখন একটি উপাদান সন্নিবেশিত বা মুছে ফেলা হয়, কন্টেইনার স্বয়ংক্রিয়ভাবে তাদের স্টোরেজ পরিচালনা করে৷

ভেক্টর resize() এবং ভেক্টর রিজার্ভ() এর মধ্যে প্রধান পার্থক্য হল resize() ভেক্টরের আকার পরিবর্তন করতে ব্যবহৃত হয় যেখানে reserve() করে না। reserve() শুধুমাত্র মেমরি পুনরায় বরাদ্দ না করে অন্তত নির্দিষ্ট উপাদানের সংখ্যা সংরক্ষণ করতে ব্যবহৃত হয়। কিন্তু resize() তে যদি সংখ্যাটি বর্তমান সংখ্যার চেয়ে ছোট হয় তবে এটি মেমরির আকার পরিবর্তন করে এবং এটির অতিরিক্ত স্থান মুছে দেয়।

ভেক্টর::resize()

ভেক্টর resize() এর আকার পরিবর্তন করতে ব্যবহৃত হয়।

উদাহরণ

উৎস কোডের ধাপ:

 ভেক্টর প্রকারের একটি ভেরিয়েবল v ঘোষণা করা শুরু করুন। আরেকটি ভেরিয়েবলকে ভেক্টর টাইপের পুনরাবৃত্তিকারী হিসাবে ঘোষণা করুন। ineger ডেটাটাইপে আরও দুটি ভেরিয়েবল c এবং i ঘোষণা করুন। যখন (সত্য) "ভেক্টরের 1. আকার" প্রিন্ট করবেন। প্রিন্ট করুন "2. ভেক্টরে উপাদান ঢোকান"। প্রিন্ট করুন "3. ভেক্টরের আকার পরিবর্তন করুন"। প্রিন্ট “4.Iterator দ্বারা প্রদর্শন”। প্রিন্ট করুন "5. Exit"। প্রিন্ট করুন "আপনার পছন্দ লিখুন:"। চলকের মান লিখুন c. সুইচ (গ) কেস 1. "ভেক্টরের আকার:" প্রিন্ট করুন। ভেক্টরের আকার প্রিন্ট করতে কল সাইজ() ফাংশন। বিরতি। কেস 2. প্রিন্ট করুন "ঢোকানোর মান লিখুন:"। ভেরিয়েবলের মান লিখুন i. ভেক্টরে মান ইনপুট করতে push_back() ফাংশন কল করুন। বিরতি। কেস 3. "ভেক্টর উপাদানের আকার পরিবর্তন করুন:" প্রিন্ট করুন। ভেক্টরের আকার পরিবর্তন করতে কল রিসাইজ() ফাংশন। বিরতি। কেস 4. "ইটারেটর দ্বারা ভেক্টর প্রদর্শন করা" প্রিন্ট করুন। for (it =v.begin(); it !=v.end(); it++) iterator এর মান প্রিন্ট করুন। বিরতি। কেস 5. এক্সিট নিতে কল exit() ফাংশন। বিরতি ডিফল্ট. "ভুল পছন্দ" প্রিন্ট করুন। শেষ।

উদাহরণ

#include #include নামস্পেস ব্যবহার করে std;int main() { vector v; vector::iterator it; int c, i; যখন (1) { cout<<"1. ভেক্টরের আকার"<>c; সুইচ(c) { ক্ষেত্রে 1:cout<<"ভেক্টরের আকার:"; cout<>i; v.push_back(i); // সন্নিবেশ করা মান বিরতি; কেস 3:cout<<"ভেক্টর উপাদানের আকার পরিবর্তন করুন:"< 

আউটপুট

1.ভেক্টরের আকার2.Vector3-এ উপাদান ঢোকান।ভেক্টর4-এর আকার পরিবর্তন করুন।Iterator5 দ্বারা প্রদর্শন করুন।আপনার পছন্দটি প্রবেশ করুন:1ভেক্টরের আকার:01.ভেক্টরের আকার:01.ভেক্টরের আকার 2.ভেক্টর3-এ উপাদান সন্নিবেশ করুন।ভেক্টর4-এর আকার পরিবর্তন করুন।প্রদর্শন করুন। Iterator5 দ্বারা প্রস্থান করুন আপনার পছন্দটি লিখুন:2 সন্নিবেশ করা হবে মানটি প্রবেশ করান:11.ভেক্টরের আকার2.Vector3 এ উপাদান সন্নিবেশ করুন।ভেক্টর 4-এর আকার পরিবর্তন করুন।Iterator5 দ্বারা প্রদর্শন করুন।প্রস্থান করুন আপনার পছন্দ:2 সন্নিবেশ করা হবে এমন মান লিখুন:21.Vector2 এর আকার Vector3-এ উপাদান সন্নিবেশ করান।ভেক্টর 4এর আকার পরিবর্তন করুন।Iterator5 দ্বারা প্রদর্শন করুন।আপনার পছন্দের প্রস্থান করুন:2ঢোকানোর মানটি প্রবেশ করান:41.ভেক্টরের আকার 2.Vector3-এ উপাদান সন্নিবেশ করুন।ভেক্টরের আকার পরিবর্তন করুন।Iterator5 দ্বারা প্রদর্শন করুন।প্রস্থান করুন:আপনার পছন্দ প্রবেশ করুন। 2 সন্নিবেশ করাতে মান সন্নিবেশ করান:51.ভেক্টরের আকার2.Vector3-এ উপাদান ঢোকান।ভেক্টর 4এর আকার পরিবর্তন করুন।Iterator 5 দ্বারা প্রস্থান করুন।আপনার পছন্দ লিখুন:2ঢোকানোর মান সন্নিবেশ করান:51.ভেক্টরের আকার 2.Vector3 এ উপাদান ঢোকান। ভেক্টরের আকার পরিবর্তন করুন। Iterator5 দ্বারা প্রদর্শন করুন। আপনার পছন্দটি প্রবেশ করুন:4Display ইটারেটর দ্বারা ভেক্টর ing:1 2 4 5 51.ভেক্টরের আকার 2.ভেক্টরের মধ্যে উপাদান ঢোকান3.ভেক্টরের আকার পরিবর্তন করুন 4.Iterator দ্বারা প্রদর্শন করুন5.প্রস্থান করুন আপনার পছন্দটি লিখুন:3ভেক্টর উপাদানগুলির আকার পরিবর্তন করুন:1.ভেক্টরের আকার 2.এলিমেন্ট ঢোকান Vector3.ভেক্টরের আকার পরিবর্তন করুন।Iterator5 দ্বারা প্রদর্শন করুন।আপনার পছন্দটি প্রবেশ করুন:4ইটারেটর দ্বারা ভেক্টর প্রদর্শন করা:1 2 4 51.ভেক্টরের আকার 2.Vector3 এ উপাদান সন্নিবেশ করান।ভেক্টরের আকার পরিবর্তন করুন।Iterator5 দ্বারা প্রদর্শন করুন।আপনার পছন্দটি প্রবেশ করুন:5 পূর্বে> 

ভেক্টর::রিজার্ভ()

ভেক্টর রিজার্ভ() নির্দেশ করে যে ভেক্টরটি এমনভাবে তৈরি করা হয়েছে যাতে এটি মেমরি পুনরায় বরাদ্দ না করে কমপক্ষে নির্দিষ্ট উপাদানগুলির সংখ্যা সংরক্ষণ করতে পারে৷ উদাহরণের ধাপগুলি

অ্যালগরিদম

 ভেক্টর প্রকারের একটি ভেরিয়েবল v ঘোষণা করা শুরু করুন। আরেকটি ভেরিয়েবলকে ভেক্টর টাইপের পুনরাবৃত্তিকারী হিসাবে ঘোষণা করুন। ineger ডেটাটাইপে আরও দুটি ভেরিয়েবল c এবং i ঘোষণা করুন। যখন (1) "1. ভেক্টরের আকার" মুদ্রণ করুন। প্রিন্ট করুন "2. ভেক্টরে উপাদান ঢোকান"। প্রিন্ট "3. ভেক্টর সংরক্ষণ করুন"। প্রিন্ট “4.Iterator দ্বারা প্রদর্শন”। প্রিন্ট করুন "5. Exit"। প্রিন্ট করুন "আপনার পছন্দ লিখুন:"। চলকের মান লিখুন c. সুইচ (গ) কেস 1. "ভেক্টরের আকার:" প্রিন্ট করুন। ভেক্টরের আকার প্রিন্ট করতে কল সাইজ() ফাংশন। বিরতি। কেস 2. প্রিন্ট করুন "ঢোকানোর মান লিখুন:"। ভেরিয়েবলের মান লিখুন i. ভেক্টরে মান ইনপুট করতে push_back() ফাংশন কল করুন। বিরতি। কেস 3. "ভেক্টর উপাদান সংরক্ষণ করুন:" প্রিন্ট করুন। ভেক্টরের আকার সংরক্ষণ করতে রিজার্ভ() ফাংশনকে কল করুন। বিরতি। কেস 4. "ইটারেটর দ্বারা ভেক্টর প্রদর্শন করা" প্রিন্ট করুন। for (it =v.begin(); it !=v.end(); it++) iterator এর মান প্রিন্ট করুন। বিরতি। কেস 5. এক্সিট নিতে কল exit() ফাংশন। বিরতি ডিফল্ট. "ভুল পছন্দ" প্রিন্ট করুন। শেষ।

উদাহরণ

#include #include নামস্পেস ব্যবহার করে std;int main() { vector v; vector::iterator it; int c, i; যখন (1) { cout<<"1. ভেক্টরের আকার"<>c; সুইচ(c) { ক্ষেত্রে 1:cout<<"ভেক্টরের আকার:"; cout<>i; v.push_back(i); বিরতি কেস 3:cout<<"ভেক্টর উপাদান সংরক্ষণ করুন।"< 

আউটপুট


1.ভেক্টরের আকার2.Vector3 এ উপাদান ঢোকান।ভেক্টর 4 রিজার্ভ করুন।Iterator5 দ্বারা প্রদর্শন করুন।আপনার পছন্দটি লিখুন:1ভেক্টরের আকার:01.ভেক্টরের আকার2.Vector3 এ উপাদান সন্নিবেশ করুন।ভেক্টর 4 সংরক্ষণ করুন।প্রদর্শন করুন। Iterator5 দ্বারা প্রস্থান করুন আপনার পছন্দটি লিখুন:2 সন্নিবেশ করা হবে মানটি প্রবেশ করান:11.ভেক্টরের আকার 2.Vector3 এ উপাদান ঢোকান।ভেক্টর 4 সংরক্ষণ করুন।Iterator5 দ্বারা প্রদর্শন করুন।প্রস্থান করুন আপনার পছন্দ:2 সন্নিবেশ করার মান প্রবেশ করান:21.Vector2 এর আকার .Vector3-এ উপাদান ঢোকান।ভেক্টর4টি রিজার্ভ করুন।Iterator5 দ্বারা ডিসপ্লে করুন।আপনার পছন্দের প্রস্থান করুন:2ঢোকানোর মান লিখুন:31.ভেক্টরের আকার 2.Vector3-এ উপাদান ঢোকান।ভেক্টর 4 রিজার্ভ করুন।Iterator5 দ্বারা প্রদর্শন করুন।আপনার পছন্দ প্রবেশ করুন। 2 সন্নিবেশ করাতে মান সন্নিবেশ করান:41.ভেক্টরের আকার2.Vector3 এ উপাদান ঢোকান।ভেক্টর 4 রিজার্ভ করুন।Iterator দ্বারা প্রদর্শন করুন5.প্রস্থান করুন আপনার পছন্দটি প্রবেশ করুন:2 সন্নিবেশ করার জন্য মান প্রবেশ করান:51.ভেক্টরের আকার2.Vector3 এ উপাদান ঢোকান। ভেক্টর 4 রিজার্ভ করুন। Iterator5 দ্বারা প্রদর্শন করুন। আপনার পছন্দটি প্রবেশ করুন:3 ভেক্টর উপাদান সংরক্ষণ করুন। ভেক্টর3.ভেক্টরটি রিজার্ভ করুন।Iterator5 দ্বারা ডিসপ্লে করুন।আপনার পছন্দটি লিখুন:4Iterator দ্বারা ভেক্টর প্রদর্শন করা:1 2 3 4 51.Vector2 এর আকার।Vector3 এ উপাদান সন্নিবেশ করুন।Vector4 রিজার্ভ করুন।Iterator5 দ্বারা প্রদর্শন করুন।প্রস্থান করুন

  1. C++ এ কনস্ট্রাক্টরের কাছে একটি ভেক্টর পাস করা

  2. কিভাবে C++ এ একটি std::vector এলোমেলো করবেন

  3. ভেক্টর::রিসাইজ() বনাম ভেক্টর::রিজার্ভ() C++ এ

  4. C++ এ ইনফারেন্স টাইপ করুন