ホームページ  >  記事  >  バックエンド開発  >  C++ では、固定の追加スペースを使用して正の数値と負の数値を並べ替えます。

C++ では、固定の追加スペースを使用して正の数値と負の数値を並べ替えます。

王林
王林転載
2023-09-13 22:25:051281ブラウズ

C++ では、固定の追加スペースを使用して正の数値と負の数値を並べ替えます。

任意のサイズの arr[] であると仮定して、正と負の数値を含む整数型の配列があります。タスクは、C STL の組み込みソート関数と再帰を使用して配列のすべての要素がソートされるように配列を再配置することです。 技術的なコーディングと結果の印刷。

この −

Input − int arr[] = {4, 2, -1, -1, 6, のさまざまな入出力シナリオを見てみましょう。 -3, 0}

出力 - 一定の追加スペースを使用して、正の数値と負の数値を並べ替えます: -3 -1 -1 0 6 2 4。

説明 - 正と負の要素を含むサイズ 7 の整数配列が与えられます。ここで、配列内のすべての要素が一定の追加スペース内でソートされるように配列を再配置し、最終結果は -3 -1 -1 0 2 4 6 になります。

入力 − int arr[] = {-9, -10, 2, 3, 10, 5, 8, 4}

出力 - 一定の追加スペースを使用して、正の数と負の数を並べ替えます: -9 -10 2 3 10 5 8 4

説明 - 正の数と負の数を含む、サイズ 8 の整数配列が与えられます。マイナス要素。ここで、配列内のすべての要素が一定の追加スペース内でソートされるように配列を再配置します。最終結果は -9 -10 2 3 10 5 8 4 になります。

次のプログラムで使用するメソッドは次のとおりです。

  • 整数型要素の配列を入力し、配列のサイズを計算します。

  • 再配置操作を実行する前に、FOR ループを使用して配列を出力します。

  • 配列と配列サイズをパラメーターとして渡して、関数 Rearrangement(arr, size) を呼び出します。

  • 関数内部 Rearrangement(arr, size)

    • 整数型変数 i を 0 に、 j をサイズ -1 に設定します。

    • while(true) で開始します。 while 内で別のループを開始し、arr[i] が 0 未満で i が size 未満の場合に i をインクリメントします。

    • arr[j] が 0 より大きく、j が 0 より大きいときに開始し、j をデクリメントします。

    • i が j より小さいかどうかを確認し、temp を arr[i] に、arr[i] を arr[j] に、arr[j] を temp に設定します。

    • それ以外の場合は、ループから抜け出します。

  • #結果を印刷します。

#include<iostream>
using namespace std;
void Rearrangement(int arr[], int size){
   int i = 0;
   int j = size - 1;
   while(true){
      while(arr[i] < 0 && i < size){
         i++;
      }
      while(arr[j] > 0 && j >= 0){
         j--;
      }
      if (i < j){
         int temp = arr[i];
         arr[i] = arr[j];
         arr[j] = temp;
      }
      else{
         break;
      }
   }
}
int main(){
   int arr[] = {4, 2, -1, -1, 6, -3, 0};
   int size = sizeof(arr)/sizeof(arr[0]);
   //calling the function to rearrange the array
   Rearrangement(arr, size);
   //print the array after rearranging the values
   cout<<"Rearrangement of positive and negative numbers with constant extra space is: ";
   for(int i = 0; i < size; i++){
      cout<< arr[i] << " ";
   }
   return 0;
}

出力

上記のコードを実行すると、次の出力が生成されます

Rearrangement of positive and negative numbers with constant extra space is: -3 -1 -1 0 6 2 4

以上がC++ では、固定の追加スペースを使用して正の数値と負の数値を並べ替えます。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はtutorialspoint.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。