Skip to main content

Hva er en standardbytte?

I dataprogrammering og informatikk er en standardbytte en situasjon i et program der to variabler må få verdiene sine utvekslet, noe som krever å opprette en tredje variabel for å fungere som en mellomledd når verdiene overføres.En standardbytte er et programmeringsparadigme, noe som betyr at det kan brukes på enhver situasjon der to datastykker må byttes, og ikke er bundet til noen datatype eller programmeringsspråk.Det er mange forekomster i programmer der verdier må byttes, men det er ofte en standardkomponent i samlinger og matriser når de brukes med sorteringsalgoritmer som må flytte elementer fra en indeks i samlingen til en annen, ved å bruke en midlertidig variabel for å holde denverdien som byttes.Fra et maskinvareperspektiv kan en standardbytte være en støttet prosessorfunksjon på lavt nivå for noen skalar datatyper som heltall, noe som betyr at mellomverdien ikke trenger å opprettes i Random Access Memory (RAM) for å bytte to tall.

Konseptet med en standardbytte kan sees med variablene A og B;På slutten av en standardbytte skal B være lik A, og A skal være lik B. Hvis et program ganske enkelt tildeler B til A, vil verdien av A gå tapt og ikke kan tilordnes B. Dette krever bruk av enMidlertidig variabel som vil inneholde verdien på en stund B er tildelt A. Det siste trinnet er å tilordne den midlertidige variableverdien til B, fullføre byttet. En veldig vanlig applikasjon for en standard bytte er når du bruker en sorteringsalgoritme på påen matrise eller samling.Hvis en sorteringsalgoritme har bestemt at dataene i Array Index 1 må byttes med dataene ved indeks 10, kan en standard bytte av dataene utføres.Dette kan gjøres usedvanlig raskt ved hjelp av pekerreferanser på språk som C. En komplikasjon kan oppstå i noen objektorienterte programmeringsspråk når to objektforekomster må byttes.I noen veldig sjeldne tilfeller vil bare å bytte objektreferansene ikke sette i gang en faktisk bytte.I stedet er den eneste måten å utveksle objektene på å klone de interne dataene, felt etter felt, mellom de to objektene og den midlertidige objektvariabelen. Det er en teknikk som teknisk sett kan brukes til å utføre en standardbytte ved hjelp av den eksklusive-eller (xor) logisk operatør.En XOR -bytte er avhengig av at når to biter beregnes med XOR, vil de i hovedsak lage en maske som kan reverseres med en eller begge operatørene.På denne måten kan to variabler, A og B, byttes ved først å lage en maske med en XOR av de to variablene, og deretter bruke XOR for å avdekke først verdien for B og deretter verdien for A. Dessverre, selv om denne metoden unngårOpprettelsen av en midlertidig variabel, den vil heller ikke gjøre et bytte i alle tilfeller, spesifikt når A og B er lik hverandre og i tilfeller der kompilatoroptimalisering kan endre den faktiske operasjonen.