>  기사  >  백엔드 개발  >  C++에서 홀수 및 짝수 값을 교대로 오름차순으로 재정렬

C++에서 홀수 및 짝수 값을 교대로 오름차순으로 재정렬

PHPz
PHPz앞으로
2023-09-12 18:45:021102검색

C++에서 홀수 및 짝수 값을 교대로 오름차순으로 재정렬

우리는 주어진 크기의 arr[]과 같이 양수와 음수를 포함하는 정수형 배열을 얻습니다. 이 작업은 배열의 가장 낮은 요소가 홀수일 때 홀수가 먼저, 짝수가 먼저 오도록 배열의 요소를 재배열하는 방식으로 배열을 재배열하는 것입니다. 두 번째 방법. 배열의 가장 낮은 요소가 짝수인 경우 배열의 요소는 짝수 첫 번째, 홀수 두 번째 방식으로 재배열됩니다. 짝수/홀수 요소의 개수가 홀수/짝수 요소의 개수보다 크면 배열의 요소가 다시 정렬됩니다. 0을 입력하고 결과를 인쇄합니다.

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

input− int arr[] = { 1, 1, 2, 2 , 5, 4 }

output− 교대로 오름차순으로 홀수를 입력합니다. 짝수 값은 1 2 1 2 5 4입니다.

Explanation- 정수형 배열을 얻습니다. 이제 배열에서 가장 작은 요소를 확인합니다. 즉, 1은 홀수이므로 요소는 먼저 홀수로 배열됩니다. 두 번째 방법, 즉 1 2 1 2 5 4도 최종 출력입니다.

Input− int arr[] = { 6, 3, 2, 8, 10, 4 }

Output− 홀수와 짝수 값을 교대로 오름차순으로 재배열하는 방법은 다음과 같습니다: 2 3 4 0 6 0

Explanation − 정수형 배열을 얻습니다. 이제 배열에서 가장 작은 요소를 확인하겠습니다. 즉, 2는 짝수이므로 elem

아래 프로그램에서 사용된 방법은 다음과 같습니다

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

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

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

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

    • 두 개의 변수 "vec_1"과 "vec_2"를 만듭니다. 정수 유형 벡터 유형으로 저장된 데이터.

    • 정수형 임시 변수 temp를 생성하고 0으로 설정합니다.

    • bool 유형의 다른 변수를 검사로 선언하고 FALSE로 설정하세요.

    • i가 크기보다 작아질 때까지 i에서 0까지 FOR 루프를 시작합니다. 루프 내부에서 IF arr[i] % 2 = 0을 확인한 다음 arr[i]를 vec_1에 푸시합니다. 그렇지 않으면 arr[i]를 vec_2에 푸시합니다.

    • 정수 변수를 i로, j를 0으로 선언합니다. IF arr[0] % 2 = 0을 확인한 다음 확인을 true로 설정합니다.

    • 온도가 크기보다 낮을 때 시작하세요. 루프 내부에서 IF check = true를 확인한 다음 arr[temp++]를 vec_1[i++]로 설정하고 !check를 확인합니다. 그렇지 않으면 arr[temp++]를 vec_2[j++]로 변환하고 check를 !check로 설정합니다.

  • 결과를 인쇄하세요.

    li>

#include <bits/stdc++.h>
using namespace std;
void Rearrangement(int arr[], int size){
   vector<int> vec_1, vec_2;
   int temp = 0;
   bool check = false;
   for(int i = 0; i < size; i++){
      if(arr[i] % 2 == 0){
         vec_1.push_back(arr[i]);
      }
      else{
         vec_2.push_back(arr[i]);
      }
   }
   int i = 0;
   int j = 0;
   if(arr[0] % 2 == 0){
      check = true;
   }
   while(temp < size){
      if(check == true){
         arr[temp++] = vec_1[i++];
         check = !check;
      }
      else{
         arr[temp++] = vec_2[j++];
         check = !check;
      }
   }
}
int main(){
   int arr[] = { 1, 1, 2, 2, 5, 4 };
   int size = sizeof(arr) / sizeof(int);
   //sort an array
   sort(arr, arr + size);
   cout<<"Rearrangement of Odd and Even values in Alternate Fashion in Ascending Order is: ";
   Rearrangement(arr, size);
   for(int i = 0; i < size; i++){
      cout << arr[i] << " ";
   }
   return 0;
}

Output

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

Rearrangement of Odd and Even values in Alternate Fashion in Ascending Order is: 1 2 1 2 5 4

위 내용은 C++에서 홀수 및 짝수 값을 교대로 오름차순으로 재정렬의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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