Skip to main content

표준 스왑이란 무엇입니까?

computer 컴퓨터 프로그래밍 및 컴퓨터 과학에서 표준 스왑은 두 가지 변수가 값을 교환 해야하는 프로그램의 상황이며, 값이 전송 될 때 세 번째 변수를 생성해야합니다.표준 스왑은 프로그래밍 패러다임으로, 두 개의 데이터를 교환 해야하는 상황에 적용될 수 있으며 하나의 데이터 유형 또는 프로그래밍 언어에 연결되지 않습니다.값을 교환 해야하는 프로그램에는 많은 인스턴스가 있지만, 컬렉션의 한 인덱스에서 다른 색인에서 다른 색인을 다른 색인으로 이동 해야하는 정렬 알고리즘과 함께 사용될 때 컬렉션 및 배열의 표준 구성 요소가 종종 임시 변수를 사용하여가치 교체되는 가치.하드웨어 관점에서 표준 스왑은 정수와 같은 일부 스칼라 데이터 유형에 대해 지원되는 저수준 프로세서 함수 일 수 있습니다. 즉, RAM (Random Access Memory)에서 두 숫자를 바꾸기 위해 중개 값을 생성 할 필요가 없습니다.표준 스왑의 개념은 변수 A 및 B에서 볼 수 있습니다.표준 스왑의 끝에서 B는 A와 A와 동일해야하며 A와 동일해야합니다. 프로그램이 단순히 B를 A에 할당하면 A의 값이 손실되고 나중에 B에 할당 될 수 없습니다. A의 사용이 필요합니다.잠시 B의 값을 유지하는 임시 변수 B에 할당됩니다. 마지막 단계는 임시 변수 값을 B에 할당하고 스왑을 완료하는 것입니다.배열 또는 컬렉션.정렬 알고리즘이 배열 인덱스 1의 데이터를 인덱스 10의 데이터와 교환해야한다고 결정한 경우 데이터의 표준 스왑을 수행 할 수 있습니다.이것은 C와 같은 언어로 포인터 참조를 사용하여 매우 빠르게 수행 할 수 있습니다.

두 객체 인스턴스를 교환해야 할 때 일부 객체 지향 프로그래밍 언어에서 합병증이 발생할 수 있습니다.매우 드문 경우에, 단순히 객체 참조를 교체하면 실제 스왑이 시작되지 않습니다.대신, 객체를 교환하는 유일한 방법은 두 객체와 임시 오브젝트 변수 사이에 내부 데이터, 필드, 필드를 복제하는 것입니다.또는 (xor) 논리 연산자.XOR 스왑은 두 비트가 XOR로 계산되면 기본적으로 연산자 중 하나 또는 둘 다로 반전 될 수있는 마스크를 생성한다는 사실에 의존합니다.이러한 방식으로, 두 변수 A와 B는 먼저 두 변수의 XOR로 마스크를 생성 한 다음 XOR을 사용하여 B의 값을 먼저 마스킹 한 다음 A의 값을 마스킹하여 교체 할 수 있습니다.임시 변수의 생성으로, 특히 A와 B가 서로 동일 할 때와 컴파일러 최적화가 실제 작업을 변경할 수있는 경우에도 모든 경우에 교환하지는 않습니다.