Skip to main content

Co je standardní swap?

V počítačovém programování a počítačové vědě je standardní swap situace v programu, ve kterém musí mít své hodnoty vyměněny dvě proměnné, což vyžaduje, aby vytvoření třetí proměnné fungovalo jako prostředník, když jsou hodnoty přeneseny.Standardní swap je paradigma programování, což znamená, že lze použít na jakoukoli situaci, kdy je třeba vyměnit dva údaje, a není vázán na žádný datový typ nebo programovací jazyk.Existuje mnoho instancí v programech, ve kterých je třeba vyměnit hodnoty, ale často se jedná o standardní součást ve sbírkách a polích, když se používají s třídicími algoritmy, které musí přesunout položky z jednoho indexu ve sbírce do druhéHodnota je vyměněna.Z hlediska hardwaru může být standardní swap podporovanou funkcí procesoru na nízké úrovni pro některé skalární datové typy, jako jsou celá čísla, což znamená, že hodnota zprostředkujícího nemusí být vytvořena v paměti náhodného přístupu (RAM), aby se zaměřila dvě čísla.

Koncept standardního swapu lze vidět s proměnnými A a B;Na konci standardního swapu by B by se měl rovnat a a měl by se rovnat B. Pokud program jednoduše přiřadí B k A, pak hodnota A bude ztracena a později nelze přiřadit B. To vyžaduje použití aDočasná proměnná, která bude držet hodnotu chvíli B, je přiřazena A. Posledním krokem je přiřadit dočasnou proměnnou hodnotu B a dokončit swap.pole nebo kolekce.Pokud algoritmus třídění určil, že data v indexu pole pole 1 musí být zaměněna s daty při indexu 10, lze provést standardní výměnu dat.To lze provést výjimečně rychle pomocí odkazů na ukazatele v jazycích, jako je C. K komplikaci může dojít v některých objektových programovacích jazycích, když je třeba vyměnit dva instance objektů.V některých velmi vzácných případech jednoduše vyměňuje odkazy na objekt skutečný swap.Místo toho je jediným způsobem, jak vyměnit objekty, klonovat interní data, pole podle pole, mezi dvěma objekty a proměnnou dočasného objektu.nebo (XOR) logický operátor.XOR Swap se spoléhá na skutečnost, že když se vypočítají dva bity s XOR, v podstatě vytvoří masku, kterou lze obrátit jedním nebo oběma operátory.Tímto způsobem lze dvě proměnné, A a B, vyměnit nejprve vytvořením masky s XOR dvou proměnných, poté pomocí XOR k odmaskujte nejprve hodnotu pro B a poté hodnotu pro A. Bohužel, i když se tato metoda vyhýbáVytvoření dočasné proměnné také nevytváří ve všech případech swap, konkrétně, když se A a B rovnají sobě navzájem a v případech, kdy může optimalizace kompilátoru změnit skutečnou operaci.