正と負の数値を含む整数型の配列 (たとえば、任意のサイズの arr[]) を取得します。ここでのタスクは、配列の最下位要素が奇数の場合、奇数が最初、偶数が最初になるように配列を再配置することです。 2番目の方法。配列の最下位要素が偶数の場合、配列の要素は最初に偶数、次に奇数という方法で再配置されます。偶数/奇数の要素の数が奇数/偶数の要素の数より大きい場合は、 0 を配置し、結果を出力します。
Input- int arr[] = { 1, 1, 2, 2, 5, 4 }
出力- 奇数と偶数の値を昇順で交互に並べたものは、1 2 1 2 5 4 です。
説明- 整数型の配列を取得します。次に、配列内の最小の要素を確認します。つまり、1 は奇数であるため、要素は最初に奇数に配置されます。 2 番目の方法、つまり 1 2 1 2 5 4 でも最終出力になります。
Input- int arr[] = { 6, 3, 2, 8, 10, 4 }
Output- 交互に押します。奇数と偶数の値を昇順に並べ替えると、次のようになります。 2 3 4 0 6 0
説明 - 整数型の配列を取得します。ここで、配列内の最小の要素をチェックします。つまり、2 は偶数であるため、要素
次の配列を入力してください。整数要素を取得し、配列のサイズを計算します。
C STL の sort メソッドを使用して配列を並べ替えるには、配列と配列のサイズを sort 関数に渡します。
整数変数を宣言し、関数 Rearrangement(arr, size) を呼び出して設定します。
関数 Rearrangement(arr, size) 内
#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; }
Rearrangement of Odd and Even values in Alternate Fashion in Ascending Order is: 1 2 1 2 5 4
以上がC++で奇数と偶数の値を昇順に交互に並べ替えるの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。