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

カクテルソート用のC++プログラム?


カクテルソートは、安定したソートアルゴリズムであり、双方向バブルソート、カクテルシェーカーソート、シェーカーソート(選択ソートの変形を指すこともあります)、リップルソート、シャッフルソートとも呼ばれる比較ソートの両方であるバブルソートのバリエーションです。 、またはシャトルソート。アルゴリズムは、リストを通過するたびに両方向にソートされるという点で、バブルソートとは異なります。

Input:53421
Output:12345

説明

カクテルでは、並べ替え配列は並べ替えられていない要素で構成されます。カクテルソートは、リストを通過するたびに両方向で機能します。バブルソートを使用して配列を前後に1回ソートします。

#include <iostream>
using namespace std;
int main() {
   int arr[] = { 5, 3, 4, 2, 1 };
   int m=5;
   int n, c;
   n=m;
   do {
      for (int i = 0; i < n - 1; i++) {
         if (arr[i] > arr[i + 1]) {
            arr[i] = arr[i] + arr[i + 1];
            arr[i + 1] = arr[i] - arr[i + 1];
            arr[i] = arr[i] - arr[i + 1];
         }
      }
      n = n - 1;
      for (int i=m-1, c = 0; i >= c; i--) {
         if(arr[i] < arr[i - 1]) {
            arr[i] = arr[i] + arr[i - 1];
            arr[i - 1] = arr[i] - arr[i - 1];
            arr[i] = arr[i] - arr[i - 1];
         }
      }
      c = c + 1;
   }
   while (n != 0 && c != 0);
   for (int i = 0; i < m; i++) {
      cout<< arr[i]<<"\t";
   }
}

  1. 二分法のためのC++プログラム

    0であり、関数f(x)はaとbの間にある必要があります。つまりf(x)=[a、b ]。タスクは、二分法を使用して、関数f(x)の区間aとbの間にあるルートの値を見つけることです。 二分法とは何ですか? 二分法は、「a」と「b」で定義された指定された制限内の関数f(x)の根の値を見つけるために使用されます。関数の根は、f(a)=0となるような値aとして定義できます。 例 Quadratic equation F(x) =  - 8 This equation is equals to 0 when the value of x will be 2 i.e.  - 8 =

  2. カクテルソート用のPythonプログラム

    この記事では、以下に示す問題ステートメントの解決策について学習します。 問題の説明 −リストが与えられたので、与えられたリストに対してビットニックソートを実行し、リストを表示する必要があります シェーカーソート −ここでは、ソートはバブルソートのように行われ、反復は両方向で行われます。 アルゴリズム まず、配列が左から右にトラバースされます。トラバーサル中に、隣接するアイテムが比較され、条件に基づいて値が交換されます。これにより、最大数はアレイの最後になります。 これで、配列は反対方向にトラバースされ、条件に基づいて要素が交換されます。これにより、最小数が最初になります。 次に、以下