采用C++利用递归思想,选择简单选择或冒泡排序算法,实现一组数据的递增排序
时间: 2024-06-13 19:09:27 浏览: 109
以下是使用C++实现简单选择排序和冒泡排序的代码,两种算法均采用递归思想实现:
1. 简单选择排序
```cpp
#include<iostream>
using namespace std;
void selectSort(int arr[], int n) {
if (n <= 1) {
return;
}
int maxIndex = 0;
for (int i = 1; i < n; i++) {
if (arr[i] > arr[maxIndex]) {
maxIndex = i;
}
}
swap(arr[maxIndex], arr[n - 1]);
selectSort(arr, n - 1);
}
int main() {
int arr[] = { 3, 5, 1, 4, 2 };
int n = sizeof(arr) / sizeof(arr[0]);
selectSort(arr, n);
for (int i = 0; i < n; i++) {
cout << arr[i] << " ";
}
return 0;
}
```
2. 冒泡排序
```cpp
#include<iostream>
using namespace std;
void bubbleSort(int arr[], int n) {
if (n <= 1) {
return;
}
bool flag = false;
for (int i = 0; i < n - 1; i++) {
if (arr[i] > arr[i + 1]) {
swap(arr[i], arr[i + 1]);
flag = true;
}
}
if (flag) {
bubbleSort(arr, n - 1);
}
}
int main() {
int arr[] = { 3, 5, 1, 4, 2 };
int n = sizeof(arr) / sizeof(arr[0]);
bubbleSort(arr, n);
for (int i = 0; i < n; i++) {
cout << arr[i] << " ";
}
return 0;
}
```
阅读全文