Hva er en Standard Swap?

April 26  by Eliza

I programmering og informatikk, er en standard swap en situasjon i et program der to variabler må ha sine verdier utveksles, som krever etablering av en tredje variabel for å opptre som mellommann når verdiene er overført. En standard swap er et programmeringsparadigme, betyr det kan brukes på enhver situasjon der to stykker av data må byttes, og er ikke knyttet til noen datatype eller programmeringsspråk. Det er mange tilfeller i programmer der verdiene må byttes, men det ofte er en standard komponent i samlinger og matriser når det brukes med sortering algoritmer som må flytte elementer fra ett indeksen i samlingen til en annen, ved hjelp av en midlertidig variabel for å holde verdi blir byttet. Fra en hardware perspektiv, kan en standard swap være en støttet lavnivå prosessor funksjon for noen skalar datatyper som heltall, som betyr den mellommann verdi ikke må opprettes i minnet (RAM) til å bytte to numre.

Konseptet med en standard swap kan sees med variablene A og B; ved enden av en standard swap, bør B være lik A, og A skal være lik B. Hvis et program tildeler bare B til A, da verdien av A, vil gå tapt, og kan ikke senere skal tilordnes B. Dette krever bruk av en midlertidig variabel som vil holde verdien av A mens B er tildelt A. Det siste trinnet er å tildele midlertidig variabel verdien til B, fullfører swap.

En svært vanlig søknad om en standard swap er når du bruker en sorteringsalgoritme på en matrise eller samling. Hvis en sorteringsalgoritme har fastslått at dataene på rekke Indeks 1 må byttes med dataene på Index 10, deretter en standard swap av dataene kan utføres. Dette kan gjøres svært raskt ved hjelp av pekeren referanser i språk som C

En komplikasjon kan oppstå i enkelte objektorientert programmeringsspråk når to objekt tilfeller må byttes. I noen svært sjeldne tilfeller, vil rett og slett bytte objektreferansene ikke starte en faktisk swap. I stedet, er den eneste måte å utveksle gjenstandene for å klone de interne data, felt for felt, mellom de to gjenstander og de midlertidige objektet variabel.

Det er en teknikk som teknisk sett kan anvendes for å utføre en standard swap ved hjelp av eksklusiv-eller (XOR) logisk operator. En XOR swap bygger på det faktum at, når to bits er beregnet med XOR, at de i det vesentlige vil skape en maske som kan reverseres med en eller begge av operatørene. På denne måten kan to variable, A og B, kan byttes ved først å lage en maske med en XOR av de to variable, og deretter ved hjelp av XOR for å avsløre første verdien for B, og deretter verdi for A. Dessverre, selv om denne metoden unngår opprettelsen av en midlertidig variabel, det vil heller ikke gjøre et bytte i alle tilfeller, spesielt når A og B er lik hverandre, og i tilfeller der kompilator optimalisering kan endre selve operasjonen.

  • En standard swap er et programmerings paradigme, noe som betyr at det kan anvendes på en hvilken som helst situasjon hvor to stykker av data må byttes.