C++에서 'arr'이 'j'인 경우 'arr'이 'i'가 되도록 배열을 재정렬합니다.
이 상황에 대한 다양한 입력 및 출력 시나리오를 살펴보겠습니다. - h2>
input− int arr[] = {3, 4, 1, 2, 0}
output− 정렬 전 배열: 3 4 1 2 0 arr[j]가 i가 되도록 배열을 재배열합니다. arr[i]가 j이면 다음과 같습니다. 4 2 3 0 1
Explanation− 크기 6의 정수 배열과 배열의 값을 얻습니다. 모든 요소 중 6개 미만입니다. 이제 배열을 다시 정렬하겠습니다. 즉, arr[1]은 4, arr[2]는 1, arr[1] = 2입니다. 2. arr[2] = 3; arr[4]는 0, arr[0]=4입니다. 따라서 최종 배열은 4 2 3 0 1입니다.
Input t− int arr[] = {2, 0, 1, 3}
Output− 정렬 전 배열: 2 0 1 3 arr[j]가 i가 되도록 배열을 재정렬합니다. arr[i]가 j이면 다음과 같습니다. 1 2 0 3
Explanation− 우리는 크기 6의 정수 배열과 모든 요소의 값을 얻습니다. 배열이 6보다 작습니다. 이제 배열을 다시 정렬하겠습니다. 즉, arr[0]은 2이고, arr[1]은 0이고, arr[0] = 1입니다. 1, arr[1] = 2; arr[3]은 3, arr[3] = 3입니다. 따라서 최종 배열은 1 2 0 3입니다.
아래 프로그램에서 사용한 방법은 다음과 같습니다
정수형 요소의 배열을 입력하고 배열의 크기를 계산합니다.
정렬하기 전에 배열을 인쇄하고 Rearrangement(arr, size) 함수를 호출하세요
-
Rearrangement(arr, size) 함수에서
a를 사용하여 정수형 값의 ptr[] 배열을 만듭니다. arr[] 배열의 크기는 동일합니다.
i가 크기보다 작아질 때까지 i에서 0까지 FOR 반복을 시작합니다. 루프 내에서 ptr[arr[i]]를 i로 설정합니다.
i가 크기보다 작아질 때까지 i에서 0까지 FOR 반복을 시작합니다. 루프 내에서 arr[i]를 ptr[i]로 설정합니다.
재배열된 배열을 인쇄합니다.
예
#include <bits/stdc++.h> using namespace std; void Rearrangement(int arr[], int size){ int ptr[size]; for(int i = 0; i < size; i++){ ptr[arr[i]] = i; } for(int i = 0; i < size; i++){ arr[i] = ptr[i]; } } int main(){ //input an array int arr[] = {3, 4, 1, 2, 0}; int size = sizeof(arr) / sizeof(arr[0]); //print the original Array cout<<"Array before Arrangement: "; for (int i = 0; i < size; i++){ cout << arr[i] << " "; } //calling the function to rearrange the array Rearrangement(arr, size); //print the array after rearranging the values cout<<"\nRearrangement of an array such that ‘arr[j]’ becomes ‘i’ if ‘arr[i]’ is ‘j’ is: "; for(int i = 0; i < size; i++){ cout<< arr[i] << " "; } return 0; }
Output
위 코드를 실행하면 다음과 같은 출력이 생성됩니다
Array before Arrangement: 3 4 1 2 0 Rearrangement of an array such that ‘arr[j]’ becomes ‘i’ if ‘arr[i]’ is ‘j’ is: 4 2 3 0 1
위 내용은 C++에서 'arr'이 'j'인 경우 'arr'이 'i'가 되도록 배열을 재정렬합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











PHP에서 배열을 깊게 복사하는 방법에는 json_decode 및 json_encode를 사용한 JSON 인코딩 및 디코딩이 포함됩니다. array_map 및 clone을 사용하여 키와 값의 전체 복사본을 만듭니다. 직렬화 및 역직렬화를 위해 직렬화 및 역직렬화를 사용합니다.

PHP 배열 키 값 뒤집기 방법의 성능 비교는 array_flip() 함수가 대규모 배열(100만 개 이상의 요소)에서 for 루프보다 더 나은 성능을 발휘하고 시간이 덜 걸리는 것을 보여줍니다. 키 값을 수동으로 뒤집는 for 루프 방식은 상대적으로 시간이 오래 걸립니다.

다차원 배열 정렬은 단일 열 정렬과 중첩 정렬로 나눌 수 있습니다. 단일 열 정렬은 array_multisort() 함수를 사용하여 열별로 정렬할 수 있습니다. 중첩 정렬에는 배열을 순회하고 정렬하는 재귀 함수가 필요합니다. 실제 사례로는 제품명별 정렬, 판매량 및 가격별 복합 정렬 등이 있습니다.

PHP에서 배열 전체 복사를 수행하는 가장 좋은 방법은 json_decode(json_encode($arr))를 사용하여 배열을 JSON 문자열로 변환한 다음 다시 배열로 변환하는 것입니다. unserialize(serialize($arr))를 사용하여 배열을 문자열로 직렬화한 다음 새 배열로 역직렬화합니다. RecursiveIteratorIterator를 사용하여 다차원 배열을 재귀적으로 순회합니다.

PHP의 array_group_by 함수는 키 또는 클로저 함수를 기반으로 배열의 요소를 그룹화하여 키가 그룹 이름이고 값이 그룹에 속한 요소의 배열인 연관 배열을 반환할 수 있습니다.

PHP의 array_group() 함수를 사용하면 지정된 키로 배열을 그룹화하여 중복 요소를 찾을 수 있습니다. 이 함수는 다음 단계를 통해 작동합니다. key_callback을 사용하여 그룹화 키를 지정합니다. 선택적으로 value_callback을 사용하여 그룹화 값을 결정합니다. 그룹화된 요소 수를 계산하고 중복 항목을 식별합니다. 따라서 array_group() 함수는 중복된 요소를 찾고 처리하는 데 매우 유용합니다.

예, 많은 프로그래밍 언어에서 배열을 함수 매개변수로 사용할 수 있으며 함수는 배열에 저장된 데이터에 대해 작업을 수행합니다. 예를 들어, C++의 printArray 함수는 배열의 요소를 인쇄할 수 있는 반면 Python의 printArray 함수는 배열을 순회하여 해당 요소를 인쇄할 수 있습니다. 이러한 함수에 의해 배열에 적용된 수정 사항은 호출 함수의 원래 배열에도 반영됩니다.

PHP 배열 중복 제거 알고리즘의 복잡성: array_unique(): O(n) array_flip()+array_keys(): O(n) foreach 루프: O(n^2)
