Co to jest standardowa zamiana?

W programowaniu komputerowym i informatyce standardowa zamiana jest sytuacją w programie, w którym dwie zmienne muszą wymienić swoje wartości, wymagając utworzenia trzeciej zmiennej, aby działać jako pośrednik po przeniesieniu wartości. Standardowa zamiana jest paradygmatem programowania, co oznacza, że ​​można go zastosować do każdej sytuacji, w której należy wymieniać dwa elementy danych i nie jest powiązane z żadnym typem danych lub językiem programowania. Istnieje wiele instancji w programach, w których wartości należy wymienić, ale często jest to standardowy element w kolekcjach i tablicach, gdy jest używany z algorytmami sortowania, które muszą przenosić elementy z jednego indeksu w kolekcji do drugiego, przy użyciu zmiennej tymczasowej, aby utrzymać zamienioną wartość. From a hardware perspective, a standard swap can be a supported low-level processor function for some scalar data types such as integers, meaning the intermediary value does not need to be created in random access memory (RAM) to swap two numbers.

Koncepcja standardowej wymiany można zobaczyć ze zmiennymi A i B; Na końcu standardowej zamiany B powinien równy a, a A powinien równy B. Jeśli program po prostu przypisuje B do a, wówczas wartość A zostanie utracona i nie może zostać przypisana do B. Wymaga to użycia zmiennej tymczasowej, która będzie utrzymywała wartość Aliga B jest przypisywana A. Ostatnim krokiem jest przypisanie tymczasowej zmiennej do B, wypełnianie wymiany.

Jedną z bardzo powszechnych aplikacji do standardowej wymiany jest stosowanie algorytmu sortowania w tablicy lub kolekcji. Jeśli algorytm sortowania ustalił, że dane w indeksie tablicy 1 muszą zostać zamienione na dane w indeksie 10, można wykonać standardową wymianę danych. Można to zrobić wyjątkowo szybko za pomocą odniesień do wskaźników w językach takich jak c.

W niektórych językach programowania zorientowanych na obiekty może wystąpić komplikabyć zamienionym. W niektórych bardzo rzadkich przypadkach po prostu zamiana odniesień do obiektu nie zainicjuje rzeczywistej wymiany. Zamiast tego jedynym sposobem wymiany obiektów jest sklonowanie danych wewnętrznych, pola po polu, między dwoma obiektami i zmienną obiektu tymczasowego.

Istnieje jedna technika, która technicznie może być stosowana do wykonania standardowej wymiany za pomocą operatora logicznego ekskluzywnego (XOR). Swap XOR opiera się na fakcie, że gdy dwa bity są obliczane za pomocą XOR, zasadniczo utworzą maskę, którą można odwrócić jednym lub obiema operatorami. W ten sposób dwie zmienne, A i B, można zamienić, najpierw utworzenie maski z XOR dwóch zmiennych, a następnie używając XOR do pierwszego maskowania wartości dla B, a następnie wartości A. Niestety, chociaż ta metoda unika tworzenia tymczasowej zmiennej, może również nie dokonać zamiany we wszystkich przypadkach, w szczególności, gdy A i B są równe do siebie i w przypadkach, w których opcja opcjach może zmienić faktyczną operację.

INNE JĘZYKI