>백엔드 개발 >C++ >짝수 위치의 요소가 홀수 위치의 요소보다 크도록 배열을 재정렬합니다(C++)

짝수 위치의 요소가 홀수 위치의 요소보다 크도록 배열을 재정렬합니다(C++)

WBOY
WBOY앞으로
2023-08-30 18:17:111092검색

짝수 위치의 요소가 홀수 위치의 요소보다 크도록 배열을 재정렬합니다(C++)

우리는 주어진 크기의 arr[]과 같이 양수와 음수를 포함하는 정수형 배열을 얻습니다. 임무는 짝수 위치나 인덱스에 있는 모든 요소가 홀수 위치나 인덱스에 있는 요소보다 커야 하는 방식으로 배열을 재배열하는 것입니다. 결과를 인쇄합니다.

이에 대한 다양한 입력 및 출력 시나리오를 살펴보겠습니다. -

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

output− 배열을 정렬하기 전에 ~: 2 1 4 3 6 5 8 7 짝수 위치가 홀수 위치보다 크도록 배열을 재정렬합니다. 1 2 3 4 5 6 7 8

Explanation− 양수 및 음수 인수를 포함하는 크기 8의 정수 배열을 얻습니다. 이제 짝수 위치의 모든 요소가 홀수 위치의 요소보다 크도록 배열을 다시 정렬합니다. 결과 배열은 1 2 3 4 5 6 7 8입니다.

Input− int arr[] = {-3, 2, -4, -1}

Output− 정렬 전 배열: - 3 2 -4 -1 짝수 위치가 홀수 위치보다 크도록 배열을 재배열합니다: -4 -3 -1 2

Explanation - 양수 및 음수 요소를 포함하는 크기 8의 정수 배열을 얻습니다. 이제 짝수 위치의 모든 요소가 홀수 위치의 요소보다 크도록 배열을 다시 정렬합니다. 이 작업을 수행한 후의 결과 배열은 -4 -3 -1 2입니다.

다음 프로그램은 다음 방법을 사용합니다.
  • 정수 요소의 배열을 입력하고 배열의 크기를 계산합니다.

    li>
  • 배열과 배열의 크기를 정렬 함수에 전달하여 C++ STL의 정렬 메서드를 사용하여 배열을 정렬합니다.

  • 정수 변수를 선언하고 Rearrangement(arr, size) 함수를 호출하여 설정합니다.

  • Rearrangement(arr, size) 함수 내에서

      ptr[size]를 가정하여 정수 유형의 배열을 선언합니다. 크기는 배열 arr[size]와 동일합니다.

  • 임시 정수 유형 변수를 선언합니다. 즉, 첫 번째는 0이고 마지막은 크기 -1입니다.

  • i가 배열 크기보다 작아질 때까지 i에서 0까지 FOR를 반복합니다. 루프 내에서 IF (i + 1) % 2가 0인지 확인한 다음 ptr[i]를 arr[last--]로 설정합니다.

  • ELSE, ptr[i ]를 arr[first++]로 설정하세요.

  • 결과를 인쇄하세요.

  • #include <bits/stdc++.h>
    using namespace std;
    void Rearrangement(int* arr, int size){
       int ptr[size];
       int first = 0;
       int last = size - 1;
       for (int i = 0; i < size; i++){
          if((i + 1) % 2 == 0){
             ptr[i] = arr[last--];
          }
          else{
             ptr[i] = arr[first++];
          }
       }
    }
    int main(){
       //input an array
       int arr[] = {2, 1, 4, 3, 6, 5, 8, 7};
       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] << " ";
       }
       //sort an Array
       sort(arr, arr + size);
       //calling the function to rearrange the array
       Rearrangement(arr, size);
       //print the array after rearranging the values
       cout<<"\nRearrangement of an array such that even positioned are greater than odd is: ";
       for(int i = 0; i < size; i++){
          cout<< arr[i] << " ";
       }
       return 0;
    }

    Output

    위 코드를 실행하면 다음과 같은 출력이 생성됩니다

    Array before Arrangement: 2 1 4 3 6 5 8 7
    Rearrangement of an array such that even positioned are greater than odd is: 1 2 3 4 5 6 7 8

    위 내용은 짝수 위치의 요소가 홀수 위치의 요소보다 크도록 배열을 재정렬합니다(C++)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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