>  기사  >  백엔드 개발  >  모든 홀수 인덱스 요소가 이전 요소보다 크도록 배열을 다시 정렬합니다.

모든 홀수 인덱스 요소가 이전 요소보다 크도록 배열을 다시 정렬합니다.

WBOY
WBOY앞으로
2023-09-01 09:45:071148검색

모든 홀수 인덱스 요소가 이전 요소보다 크도록 배열을 다시 정렬합니다.

우리는 arr[]로 가정되는 임의의 크기를 가진 양의 정수 유형의 배열을 가지고 있습니다. 홀수 인덱스 위치에 있는 모든 요소가 짝수 인덱스 위치에 있는 요소보다 더 큰 값을 갖도록 배열을 재정렬하고 그 결과를 인쇄하는 작업입니다.

다양한 입력 및 출력 상황을 살펴보겠습니다.

Input − int arr[] = {2, 1, 5, 4, 3, 7, 8}

Output − 정렬 전 배열: 2 1 5 4 3 7 8 홀수 인덱스의 모든 요소가 이전 요소보다 크도록 배열을 재정렬합니다. 1 4 2 5 3 8 7

설명 - 크기 7의 정수 배열이 제공됩니다. 이제 짝수 인덱스의 요소가 더 크면 짝수 인덱스의 요소와 홀수 인덱스의 요소를 교환합니다.

Arr[0] > arr[1] = call swap = {1, 2, 5, 4, 3, 7, 8}
Arr[2] > arr[3] = call swap = {1, 2, 4, 5, 3, 7, 8}
Arr[6] > arr[5] = call swap = {1, 2, 4, 5, 3, 8, 7}
Arr[2] > arr[1] = call swap = {1, 4, 2, 5, 3, 8, 7}

input− int arr[] = {3, 2, 6, 9}

output− 배열 정렬 전: 3 2 6 9 모든 홀수 인덱스 요소가 이전 요소보다 커지도록 배열을 재배열하는 방법은 다음과 같습니다. 2 3 6 9

Explanation − 크기 4의 정수 배열이 제공됩니다. 이제 짝수 인덱스의 요소를 요소와 교체합니다. 인덱스된 요소가 더 큰 경우 홀수 인덱스에서 즉, Arr[0] > arr[1] = 호출 스왑 = {2, 3, 6, 9}을 충족하므로 스왑 메서드를 추가로 호출할 필요가 없습니다. 조건

아래 프로그램에서 사용한 접근 방식은 다음과 같습니다

  • 정수형 요소의 배열을 입력하고 배열의 크기를 계산합니다.

  • 정렬 전 배열을 인쇄하고 Rearrangement(arr, size) 함수를 호출합니다.

  • 재배열(arr, size) 함수 내부

    • 정수 유형 ptr의 변수를 생성하고 크기-1로 설정합니다.

    • i에서 0까지 i less까지 FOR 루프를 시작합니다. ptr 및 i = i + 1보다. 루프 내에서 arr[i]가 arr[i+1]보다 큰지 확인한 다음 swap(arr[i], arr[i+1])을 호출하세요.

    • Check IF size & 1이면 i에서 ptr까지 FOR 루프를 시작하여 i가 0보다 크고 i = i - 2가 될 때까지 실행합니다. 루프 내부에서 IF arr[i]가 arr[i - 1]보다 큰지 확인한 다음 swap(arr[i]를 호출합니다. , arr[i-1])

  • 배열의 값을 재배열한 후 배열을 인쇄합니다

    .

위 내용은 모든 홀수 인덱스 요소가 이전 요소보다 크도록 배열을 다시 정렬합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 tutorialspoint.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제