- データの要素を含む配列を準備します。例えば、int型の要素を持つ配列とします。
int data[] = {5, 2, 8, 1, 3};
int size = sizeof(data) / sizeof(data[0]);
- バイナリソートのアルゴリズムを実装します。バイナリソートでは、要素の比較と入れ替えを繰り返し行うことで配列をソートします。
bool binarySort(int arr[], int n) {
bool swapped;
for (int i = 0; i < n-1; i++) {
swapped = false;
for (int j = 0; j < n-i-1; j++) {
if (arr[j] > arr[j+1]) {
std::swap(arr[j], arr[j+1]);
swapped = true;
}
}
if (!swapped)
break;
}
}
- ソートされた配列を出力して確認します。
void printArray(int arr[], int size) {
for (int i = 0; i < size; i++) {
std::cout << arr[i] << " ";
}
std::cout << std::endl;
}
int main() {
int data[] = {5, 2, 8, 1, 3};
int size = sizeof(data) / sizeof(data[0]);
binarySort(data, size);
std::cout << "Sorted array: ";
printArray(data, size);
return 0;
}
このコード例では、バイナリソートアルゴリズムを使用して、配列の要素を昇順にソートしています。配列の要素数が多い場合でも効率的にソートが行われます。必要に応じて、この実装を改良してソートの安定性やパフォーマンスを向上させることもできます。
以上が、C++でバイナリソートを実装する方法です。この手法を応用して、他のデータ型や要素の比較方法にも適用することができます。