사실 "결과의 차이"가 무슨 뜻인지 잘 모르겠습니다. 출력이 매우 정상적이지 않나요? xor(a,c), 将列表a的每个元素, 和列表c的每个元素取异或结果, 导致列表变成结果a变成[0, 0, 0, 0, 0, 1, 1, 1, 1] 목록 a를 수정하는 동안 xor 함수도 목록 a를 반환하고 이를 b에 할당합니다. 이렇게 하면 b와 같은 목록이 아닌가요?
아래의 "중간 변수"는 b의 이전 값을 저장합니다. 첫 번째 방법을 사용하여 두 번째 방법의 효과를 얻으려면 b에 할당하는 대신 직접 바꿀 수 있습니다.
으아아아
사실 "결과의 차이"가 무슨 뜻인지 잘 모르겠습니다. 출력이 매우 정상적이지 않나요?
xor(a,c)
, 将列表a的每个元素, 和列表c的每个元素取异或结果, 导致列表变成结果a变成[0, 0, 0, 0, 0, 1, 1, 1, 1]
목록 a를 수정하는 동안 xor 함수도 목록 a를 반환하고 이를 b에 할당합니다. 이렇게 하면 b와 같은 목록이 아닌가요?
아래의 "중간 변수"는 b의 이전 값을 저장합니다. 첫 번째 방법을 사용하여 두 번째 방법의 효과를 얻으려면 b에 할당하는 대신 직접 바꿀 수 있습니다. 으아아아
첫 번째 방법은 b의 값을 변경한 후 a와 b를 바꾸는 것입니다. 두 번째 방법은 새로운 값 mid를 정의한 다음 b의 값을 변경한 다음 mid를 a에 할당하는 것입니다
이 결과는 정확합니다. 무엇이 문제인가요?으아악
이 함수의 핵심은 a를 반환하는 것인데, 중간에 수정이 있을 수 있고, 그 다음에는
으아악스왑이 두 개뿐인 경우:
으아악