Input : arr[ ] = { 10, 20, 30, 40, 50, 60 } Output : { 60, 10, 50, 20, 40, 30 } Explanation : array is rearranged in the form { 1st max, 1st min, 2nd max, 2nd min, 3rd max, 3rd min } Input : arr [ ] = { 15, 17, 19, 23, 36, 67, 69 } Output : { 69, 15, 67, 17, 36, 19, 23 }配列を最大値と最小値の形式に並べ替える方法があります -解決策を見つける方法配列を最大値と最小値で再配置する方法 最小形式で配列形式を再配置します -ダブル ポインタ メソッド2 つの変数 min と max を使用します。ここでは最大要素と最小要素を指し、再配置された Arranged 配列を格納するための同じサイズの新しい空の配列。次に、配列を反復処理し、反復された要素のインデックスが偶数である場合は、arr[max] 要素を空の配列に追加し、max を 1 だけ減分します。要素のインデックスが奇数の場合は、arr[min] 要素を空の配列に追加し、min を 1 ずつ増分します。最大値が最小値よりも小さくなるまでこれを繰り返します。 例
#include <bits/stdc++.h> using namespace std; int main () { int arr[] = { 1, 2, 3, 4, 5, 6 }; int n = sizeof (arr) / sizeof (arr[0]); // creating a new array to store the rearranged array. int final[n]; // pointing variables to initial and final element index. int min = 0, max = n - 1; int count = 0; // iterating over the array until max is less than or equals to max. for (int i = 0; min <= max; i++) { // if count is even then store max index element if (count % 2 == 0) { final[i] = arr[max]; max--; } // store min index element else { final[i] = arr[min]; min++; } count++; } // printing the final rearranged array. for (int i = 0; i < n; i++) cout << final[ i ] << " "; return 0; }
6 1 5 2 4 3
以上がC++を使用して配列を最大-最小形式に再配置しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。