BogoSortまたは順列ソート用のC++プログラム?
ここでは、ボゴソートと呼ばれる別のソートアルゴリズムを確認します。このソートは、順列ソート、愚かなソート、低速ソートなどとも呼ばれます。このソートアルゴリズムは、特に効果のないソート手法です。これは、生成とテストのパラダイムに該当します。ソートされるまで、順列を繰り返し生成します。概念は非常に簡単です。リストが並べ替えられるまで、要素をシャッフルするだけです。
アルゴリズム
bogoSort(array、n)
Begin while the arr is not sorted, do shuffle arr done End
例
#include<iostream> #include<cstdlib> using namespace std; bool isSorted(int arr[], int n) { //check whether the list is sorted or not while (--n > 1) if (arr[n] < arr[n - 1]) return false; return true; } void shuffle(int arr[], int n) { for (int i = 0; i < n; i++) swap(arr[i], arr[rand() % n]); } void bogoSort(int arr[], int n){ while (!isSorted(arr, n)) shuffle(arr, n); } main() { int data[] = {54, 74, 98, 5, 98, 32, 20, 13, 35, 40}; int n = sizeof(data)/sizeof(data[0]); cout << "Sorted Sequence "; bogoSort(data, n); for(int i = 0; i <n;i++){ cout << data[i] << " "; } }
出力
Sorted Sequence 5 13 20 32 35 40 54 74 98 98
-
C++での8進数から10進数への変換のプログラム
入力として8進数を指定すると、タスクは指定された8進数を10進数に変換することです。 コンピューターの10進数は10進数で表され、8進数は0から7までの8進数で表されますが、10進数は0から9までの任意の数字にすることができます。 8進数を10進数に変換するには、次の手順に従います- 余りから右から左に数字を抽出し、それを0から始まる累乗で乗算し、(桁数)–1まで1ずつ増やします。 8進数から2進数に変換する必要があるため、8進数の基数は8であるため、累乗の基数は8になります。 指定された入力の桁にベースとパワーを掛けて、結果を保存します 乗算されたすべての値を加算して、10進数になる
-
BogoSortまたは順列ソート用のPythonプログラム
この記事では、以下に示す問題ステートメントの解決策について学習します。 問題の説明 −配列が与えられたので、順列ソートの概念を使用して配列をソートする必要があります。 BogoSortは順列ソートとも呼ばれ、パラダイムの生成とテストに基づいています。 それでは、以下の実装のソリューションを見てみましょう- 例 # random module import random # Sort def bogoSort(a): n = len(a) while (is_sorted(a)== False):