C ++
 Computer >> コンピューター >  >> プログラミング >> C ++

再帰的なバブルソートのためのC++プログラム?


バブルソートでは、隣接するペアを比較し、順序が間違っている場合はそれらを交換します。このタイプのバブルソートでは、それ自体を呼び出す再帰関数を使用します。

Input:53421
Output:12345

説明

再帰(自己呼び出し)関数を使用すると、隣接するペアが比較され、配列が整うまで順序が間違っている場合は交換されます

#include <iostream>
using namespace std;
void bubbleSort(int arr[], int n) {
   for (int i = 0; i < n - 1; i++) {
      if (arr[i] > arr[i + 1]) {
         int temp = arr[i];
         arr[i] = arr[i+1];
         arr[i+1] = temp;
      }
   }
   if (n - 1 > 1) {
      bubbleSort(arr, n - 1);
   }
}
int main() {
   int arr[] = { 5,4,2,1,3 };
   int n = 5;
   bubbleSort(arr, n);
   for (int i = 0; i < n; i++) {
      cout<< arr[i]<<"\t";
   }
   return 0;
}

  1. シェーカーソートを実行するC++プログラム

    シェーカーソートは、指定されたデータをソートするために使用されます。シェーカーソートは、バブルソートとは異なり、配列を両方向に並べ替えます。このアルゴリズムの最悪の複雑さはO(n ^ 2)です。 アルゴリズム Begin    ShakerSort() function has ‘arr’ the array of data and ‘n’ the number of values, in the argument list.    // Implement Sorting algorithm using

  2. 再帰的なバブルソートのためのJavaプログラム

    以下は、再帰バブルソート用のJavaプログラムです- 例 import java.util.Arrays; public class Demo{    static void bubble_sort(int my_arr[], int len_arr){       if (len_arr == 1)       return;       for (int i=0; i<len_arr-1; i++)       if (my_arr[i] >