অ্যাপ্লিকেশন প্রোগ্রামিংয়ে বর্তমানে যে ধরণের ডেটা স্ট্রাকচার ব্যাপকভাবে ব্যবহৃত হয় তার মধ্যে একটি হ'ল স্ট্যাক। এর অদ্ভুততা হ'ল সংগঠনকারী উপাদানগুলির মূলনীতি, যার মধ্যে তাদের সংযোজন এবং অপসারণ একবারে কেবলমাত্র একটিমাত্র এবং কেবলমাত্র "শীর্ষ" এর মাধ্যমে সম্ভব হয়, এটি LIFO নীতি অনুসারে। তবে কখনও কখনও পুরো স্ট্যাকটি একবারে পরিষ্কার করা প্রয়োজন।
প্রয়োজনীয়
- - পাঠ্য সম্পাদক বা আইডিই;
- - ব্যবহৃত প্রোগ্রামিং ভাষা থেকে অনুবাদক।
নির্দেশনা
ধাপ 1
স্ট্যাক অবজেক্টগুলিতে এমন পদ্ধতি ব্যবহার করুন যা স্ট্যাকটি পরিষ্কার করার জন্য বিশেষভাবে ডিজাইন করা হয়েছে। তারা বিভিন্ন লাইব্রেরি এবং ফ্রেমওয়ার্কের সাথে সম্পর্কিত বেশিরভাগ ক্ষেত্রে উপস্থিত রয়েছে। উদাহরণস্বরূপ,. NET স্ট্যাক শ্রেণিতে একটি পরিষ্কার পদ্ধতি রয়েছে। সি # তে এর প্রয়োগের উদাহরণটি এরকম দেখতে পারে:
স্ট্যাক ওস্ট্যাক = নতুন স্ট্যাক (); // একটি স্ট্যাক অবজেক্ট তৈরি করুন
oStack. Push ("000"); // স্ট্যাক পূরণ করুন
oStack. Push ("111");
oStack. C Clear (); // স্ট্যাক সাফ করুন
ধাপ ২
ধারক শ্রেণীর উপাদানগুলির সংখ্যা পরিবর্তনের জন্য পদ্ধতিগুলি, যার উপর প্রায়শই স্ট্যাক ক্লাসগুলির কার্যকারিতা নির্মিত হয়, পরিষ্কারের জন্যও ব্যবহার করা যেতে পারে। আপনার কেবলমাত্র বর্তমানের উপাদান শূন্যে হ্রাস করতে হবে। উদাহরণস্বরূপ, কিউটিেক্টর টেমপ্লেট শ্রেণীর কিউস্ট্যাক কিউভেক্টর টেম্পলেট শ্রেণীর উত্তরাধিকার সূত্রে প্রাপ্ত, যার একটি পুনরায় আকার পদ্ধতি রয়েছে। এর ব্যবহারের উদাহরণ এটির মতো হতে পারে:
কিউস্ট্যাক ওস্ট্যাক; // স্ট্যাক অবজেক্টের ঘোষণা
(int i = 0; i <10; i ++) oStack.push (i) এর জন্য; // স্ট্যাক পূরণ করুন
oStack.resize (0); // স্ট্যাক সাফ করুন
ধাপ 3
একটি স্ট্যাক অবজেক্ট পরিষ্কার করা সাধারণত অ্যাসাইনমেন্ট অপারেটরের মাধ্যমে করা যেতে পারে, যা প্রায়শই সংশ্লিষ্ট শ্রেণিতে প্রয়োগ করা হয়। এটি করার জন্য, স্ট্যাকের অবজেক্টটি সাফ করতে হবে ডিফল্ট কনস্ট্রাক্টর দ্বারা তৈরি একটি অস্থায়ী অবজেক্ট assigned উদাহরণস্বরূপ, সি ++ স্ট্যান্ডার্ড লাইব্রেরি স্ট্যাক টেম্প্লেটেড ক্লাস, যা ধারক টেম্প্লেটেড ক্লাসগুলির জন্য একটি অ্যাডাপ্টার, নির্বিচারে সংখ্যা পরিবর্তন করার জন্য বা সমস্ত উপাদান অপসারণ করার পদ্ধতি নেই। আপনি এটি এটিকে পরিষ্কার করতে পারেন:
std:: stack <int, std:: list> ওস্ট্যাক; // স্ট্যাক অবজেক্টের ঘোষণা
(int i = 0; i <10; i ++) oStack.push (i) এর জন্য; // স্ট্যাক পূরণ করুন
oStack = std:: stack
পদক্ষেপ 4
ডিফল্ট কনস্ট্রাক্টর দ্বারা তৈরি একটি অবজেক্ট আর্গুমেন্ট সহ নতুন অপারেটরটি ব্যবহার করে অনুলিপি কন্সট্রাক্টরকে কল করে স্ট্যাক অবজেক্টটি সাফ করুন:
std:: stack <int, std:: list> ওস্ট্যাক; // স্ট্যাক অবজেক্টের ঘোষণা
(int i = 0; i <10; i ++) oStack.push (i) এর জন্য; // স্ট্যাক পূরণ করুন
new std:: stack
পদক্ষেপ 5
যথাযথ পদ্ধতিগুলি ব্যবহার করে সমস্ত উপাদান পুনরুদ্ধার করে স্ট্যাকটি সাফ করা যেতে পারে:
std:: stack <int, std:: list> ওস্ট্যাক; // স্ট্যাক অবজেক্টের ঘোষণা
(int i = 0; i <10; i ++) oStack.push (i) এর জন্য; // স্ট্যাক পূরণ করুন
((oStack.empty ()) oStack.pop (); // স্ট্যাকটি সাফ করুন
যাইহোক, এই পদ্ধতির একটি সময় জটিলতা রয়েছে যা স্ট্যাকের উপাদানগুলির সংখ্যার উপর রৈখিকভাবে নির্ভর করে। সুতরাং, এর ব্যবহার যুক্তিসঙ্গত নয়।