<prompt> Tengeneza kirudisho kinachoauni utendakazi wa kuchungulia kwenye kirudishi kilichopo pamoja na shughuli za hasNext na zinazofuata.Tekeleza darasa la PeekingIterator: PeekingIteratorIterator nums Huanzisha kipengee kwa kipengee kamili cha kirudiarudia. int next Hurejesha kipengele kinachofuata katika safu na kusogeza pointer hadi kipengele kinachofuata. boolean hasNext Hurejesha true ikiwa bado kuna vipengele katika safu. int peek Hurejesha kipengele kinachofuata katika safu bila kusogeza pointer.Kumbuka: Kila lugha inaweza kuwa na utekelezaji tofauti wa kijenzi na Iterator, lakini zote zinaauni vitendaji vya int next na boolean hasNext.Mfano wa 1:Ingizo PeekingIterator , ifuatayo , peek , ifuatayo , ifuatayo, inayofuata1, 2, 3, , , , , Patonull, 1, 2, 2, 3, uongoUfafanuziPeekingIterator peekingIterator PeekingIterator mpya1, 2, 3; 1,2,3peekingIterator.next; kurudi 1, pointer inasonga hadi kipengele kinachofuata 1,2,3.peekingIterator.peek; kurudi 2, pointer haina hoja 1,2,3.peekingIterator.next; rudisha 2, kielekezi kinasogea hadi kwenye kipengele kinachofuata 1,2,3peekingIterator.next; rudisha 3, kielekezi kinasogea hadi kwa kipengele kinachofuata 1,2,3peekingIterator.hasNext; kurudi UongoVikwazo: 1 nums.length 1000 1 numsi 1000 Simu zote kwa ijayo na chungulia ni halali. Angalau simu 1000 zitapigiwa ijayo, hasNext, na peek.Fuatilia: Je, unawezaje kupanua muundo wako uwe wa kawaida na ufanye kazi na aina zote, na sio nambari kamili tu?  <response>: chatudarasa PeekingIterator: def __init__ binafsi, iterator: self.iterator iterator self.next_val inayofuataself.iterator, None def peek binafsi: rudisha mwenyewe.ijayo_val def nextbinafsi: current_val self.next_val self.next_val inayofuataself.iterator, None rudisha sasa_val def hasNextself: return self.next_val is not NonemaelezoDarasa la PeekingIterator hutekelezea kirudishio kinachoauni utendakazi wa kutazama pamoja na mbinu za kawaida za hasNext na zinazofuata. Mjenzi huchukua kiboreshaji kilichopo au kitu kinachoweza kutekelezeka, na kuanzisha vigeu vya darasa kwa ajili ya kufuatilia thamani inayofuata na kiboreshaji cha ndani.Mbinu ya kutazama hurejesha thamani inayofuata katika mlolongo, bila kuendeleza kiboreshaji cha ndani. Mbinu inayofuata hurejesha thamani inayofuata katika mfuatano na kuendeleza kiboreshaji cha ndani kwa kuita njia yake inayofuata. Mbinu ya hasNext hukagua ikiwa kuna vipengee zaidi vilivyosalia katika mfuatano kwa kuangalia kama thamani inayofuata ya kiikizo cha ndani sio mwisho.Katika utekelezaji wote huu:- Utekelezaji wa C hutumia viwango vya kiboreshaji vya STL na kiboresha sauti kama ingizo- Utekelezaji wa Java hutumia kiolesura cha Iterator na unatarajia kiboreshaji cha mkusanyiko wowote unaotekeleza Iterable- Utekelezaji wa Python unakubali kitu chochote kinachoweza kutekelezeka kama pembejeo.- Utekelezaji wa JavaScript unadhania itifaki ya iterator iliyopewa inayoweza kutekelezwa 