Nima uchun rekursiya kerak
Aslini olganda, har qanday rekursiv ishlangan masalani iterativ usulda ishlash mumkin va buning aksi ham to'g'ri.Buning ustiga rekursiv yechim har doim xotiradan qo'shimcha joy talab qiladi.
Shunday ekan, nima uchun unda rekursiya kerak? Albatta, buning yetarlicha sabablari bor:
Dek, asosan ma'lumotlar tuzilmasining ikki tomonlama navbatini amalga oshirishdir. Navbatdagi ma'lumotlar tuzilishi faqat oxiriga qo'shib, old tomondan o'chirishga imkon beradi. Bu haqiqiy hayotdagi navbatga o'xshaydi, unda odamlar old tomondan olib tashlanadi va orqada qo'shiladi. Ikkala tugagan navbat - bu qo'shilish va o'chirish operatsiyalari ikkala uchida ham mumkin bo'lgan navbatlarning alohida holati.
Dekning asosiy funksiyalari quyidagicha:
deque insert() – ushbu funktsiya dek tarkibiga elementlarni kiritish uchun ishlatiladigan C ++ da o'rnatilgan funktsiyadir.
deque rbegin() - Dekning so'nggi elementiga ishora qiluvchi teskari iteratorni qaytaradi.
deque rend() - Dek boshlanishidan oldingi holatga ishora qiluvchi teskari iteratorni qaytaradi.
deque max_size() -deque konteyner sig'adigan elementlarning maksimal sonini qaytaradi. Ya’ni maksimal nechta element qabul qilishini anglatadi.
Amaliy mashg’ulot ishlari uchun topshiriqlar.
6.Ikki tomonlama navbat tuzilmasidan foydalanib, float tipidagi elementlarini qo’shing. Max_size() funksiyalaridan foydalaning
# include
#include
using namespace std;
int main ()
{
vector g1;
for (int i = 1; i <= 5; i ++)
g1.push_back (i);
cout << "Hajmi:" << g1.size ();
cout << "\n Max_Size:" << g1.max_size ();
return 0;
}
Xulosa:
Dek, asosan ma'lumotlar tuzilmasining ikki tomonlama navbatini amalga oshirishdir. Navbatdagi ma'lumotlar tuzilishi faqat oxiriga qo'shib, old tomondan o'chirishga imkon beradi. Bu haqiqiy hayotdagi navbatga o'xshaydi, unda odamlar old tomondan olib tashlanadi va orqada qo'shiladi. Ikkala tugagan navbat - bu qo'shilish va o'chirish operatsiyalari ikkala uchida ham mumkin bo'lgan navbatlarning alohida holati.
Dostları ilə paylaş: |