>> Gjuha 1: Ajo rezulton ne mund bie nĂ« ujdi me sukses vlerat nĂ« dy
variablat duke kaluar ato nĂ« njĂ« funksionojnĂ« jo sipas vlerĂ«s ose me kopje, por
me referenca ose nga adresat e tyre.
Me fjalĂ« tĂ« tjera, ne kemi nevojĂ« pĂ«r tĂ« levave diĂ§ka e njohur si njĂ« tregues.
NjĂ« akrep, me tĂ« vĂ«rtetĂ«, Ă«shtĂ« vetĂ«m Adresa prej rreth ndryshueshme.
Dhe kĂ«shtu qĂ« nĂ« qoftĂ« se ne tĂ« sigurojĂ« njĂ« funksion tĂ« quajtur, tĂ« themi, tĂ« bie nĂ« ujdi me adresĂ«n e
njĂ« ndryshore dhe adresĂ«n e njĂ« tjetĂ«r variabĂ«l, swap duhet tĂ« fuqizohet pĂ«r tĂ«
shkojnĂ« nĂ« secilin prej kĂ«tyre adresave dhe nĂ« tĂ« vĂ«rtetĂ« tĂ« ndryshojĂ«
Vlerat qĂ« janĂ« atje.
>> Le tĂ« shohim kĂ«tĂ« nĂ« kontekst.
Le tĂ« reimplement swap si mĂ« poshtĂ«.
SĂ« pari, le tĂ« ndryshojĂ« njĂ« mos jetĂ« njĂ« int por tĂ« jetĂ« njĂ« tregues pĂ«r njĂ« int ose
adresa e njĂ« int.
Pastaj le tĂ« bĂ«jĂ« tĂ« njĂ«jtĂ«n gjĂ« pĂ«r b, ndryshuar ajo nga njĂ« int tĂ« jetĂ« njĂ« tregues pĂ«r njĂ«
int ose adresĂ«n e njĂ« int.
>> Pastaj brenda swap, le ende deklarojnĂ« tmp qĂ« tĂ« kemi njĂ«
vend i pĂ«rkohshĂ«m pĂ«r njĂ« vlerĂ«-sĂ«.
Por njĂ« e vlerĂ« nuk Ă«shtĂ« nĂ« vetvete, sepse, pĂ«rsĂ«ri, a Ă«shtĂ« tani adresa
e disa int.
Pra, nĂ«se ne duam tĂ« shkojnĂ« nĂ« atĂ« adresĂ« dhe merrni int nĂ« atĂ« adresĂ«, ne kemi
dereference kĂ«tĂ« akrep, edhe nga mĂ«nyra e operatori yll, yll shkruar njĂ«.
>> Tjetra, unĂ« nuk dua tĂ« ndryshojnĂ« vlera e njĂ«.
UnĂ« dua tĂ« ndryshojĂ« vlerĂ«n nĂ« njĂ«, duke patur parasysh, pĂ«rsĂ«ri,
se a Ă«shtĂ« njĂ« adresĂ«.
Pra, pĂ«r tĂ« bĂ«rĂ« kĂ«tĂ«, unĂ« pĂ«rsĂ«ri nevojĂ« pĂ«r tĂ« thĂ«nĂ« njĂ« yll merr.
Dhe tani unĂ« dua tĂ« vĂ«nĂ« nĂ« vlerĂ«n e qĂ« Ă«shtĂ« nĂ« B nuk, vlera e B, e cila
gjithashtu Ă«shtĂ« njĂ« adresĂ«.
>> Pra, pĂ«rsĂ«ri unĂ« them, yll b.
Pastaj nĂ« linjĂ« tim tĂ« fundit, unĂ« duhet tĂ« mbishkruaj atĂ« qĂ« Ă«shtĂ« nĂ« adresĂ«n b me
ajo qĂ« ishte nĂ« njĂ« vend tĂ« origjinal.
PĂ«r ta bĂ«rĂ« kĂ«tĂ«, unĂ« bĂ«j yll b merr tmp.
>> Tani nĂ« fund tĂ« ditĂ«s, kjo funksion Ă«shtĂ« ende vetĂ«m
tre rreshta tĂ« kodit.
Por pĂ«r shkak se Ă«shtĂ« manipuluar vlerat me anĂ« tĂ« adresĂ«s sĂ« tyre dhe nuk
Vlerat e papĂ«rpunuara qĂ« janĂ« kaluar nĂ« funksion, unĂ« pretendojnĂ« se swap Ă«shtĂ« tani
autorizuar pĂ«r tĂ« ndryshuar vlerat qĂ« janĂ« miratuar nĂ« via adresat e tyre.
>> Por kam nevojĂ« pĂ«r tĂ« bĂ«rĂ« njĂ« ndryshim ende.
UnĂ« mund tĂ« kalojĂ« mĂ« nĂ« x dhe y vetĂ«.
UnĂ« kam nevojĂ« pĂ«r tĂ« kaluar nĂ« adresat e x dhe y.
Dhe pĂ«r tĂ« bĂ«rĂ« kĂ«tĂ«, kam nevojĂ« pĂ«r disa pak ndryshme top simbol up.
UnĂ« dua tĂ« bie nĂ« ujdi x dhe y duke kaluar nĂ« adresa e x, treguar nga
simbol x, dhe adresa e y, treguar nga y ampersand.
>> NĂ« mĂ«nyrĂ« tĂ« ngjashme, deri krye tani nuk kam nevojĂ« pĂ«r tĂ« ndryshojĂ« prototip e funksionit tĂ«
ndeshje ndryshimin qĂ« kam bĂ«rĂ«, nĂ« mĂ«nyrĂ« qĂ« njĂ« Ă«shtĂ«, pĂ«rsĂ«ri, njĂ« tregues pĂ«r njĂ« int.
b Ă«shtĂ«, pĂ«rsĂ«ri, njĂ« tregues pĂ«r njĂ« int.
Dhe tani unĂ« mund tĂ« ruaj dosjen time.
Dhe le tĂ« pĂ«rpiluar dhe drejtuar atĂ«.
>> BĂ«ni shkĂ«mbim shkĂ«mbim dot Ă§aj.
Dhe kĂ«tĂ« herĂ«, x dhe y janĂ« me tĂ« vĂ«rtetĂ« tani swapped tillĂ« qĂ« vlerat e tyre nuk janĂ«
1 dhe 2, por 2 dhe 1.