使用void bubble(int a[], int size=10); void bubble(double a[], int size=10); void bubble(char a[], int size=10);写一个三段式的冒泡排序
时间: 2024-03-15 19:46:08 浏览: 24
以下是使用函数重载实现的三段式冒泡排序示例代码:
```c++
#include <iostream>
using namespace std;
// 三段式冒泡排序函数重载
void bubble(int a[], int size = 10);
void bubble(double a[], int size = 10);
void bubble(char a[], int size = 10);
int main() {
int a[] = {4, 2, 8, 0, 5, 7, 1, 3, 9, 6};
double b[] = {2.5, 3.6, 1.2, 4.8, 0.5, 7.2, 6.4, 8.1, 9.0, 5.3};
char c[] = {'d', 'f', 'c', 'h', 'b', 'a', 'g', 'e', 'i', 'j'};
bubble(a);
bubble(b);
bubble(c);
return 0;
}
// 整型数组三段式冒泡排序
void bubble(int a[], int size) {
int left = 0, right = size - 1, k = 0;
while (left < right) {
for (int i = left; i < right; i++) {
if (a[i] > a[i + 1]) {
int temp = a[i];
a[i] = a[i + 1];
a[i + 1] = temp;
k = i;
}
}
right = k;
for (int i = right; i > left; i--) {
if (a[i] < a[i - 1]) {
int temp = a[i];
a[i] = a[i - 1];
a[i - 1] = temp;
k = i;
}
}
left = k;
}
cout << "排序后的整型数组为:";
for (int i = 0; i < size; i++) {
cout << a[i] << " ";
}
cout << endl;
}
// 浮点型数组三段式冒泡排序
void bubble(double a[], int size) {
int left = 0, right = size - 1, k = 0;
while (left < right) {
for (int i = left; i < right; i++) {
if (a[i] > a[i + 1]) {
double temp = a[i];
a[i] = a[i + 1];
a[i + 1] = temp;
k = i;
}
}
right = k;
for (int i = right; i > left; i--) {
if (a[i] < a[i - 1]) {
double temp = a[i];
a[i] = a[i - 1];
a[i - 1] = temp;
k = i;
}
}
left = k;
}
cout << "排序后的浮点型数组为:";
for (int i = 0; i < size; i++) {
cout << a[i] << " ";
}
cout << endl;
}
// 字符型数组三段式冒泡排序
void bubble(char a[], int size) {
int left = 0, right = size - 1, k = 0;
while (left < right) {
for (int i = left; i < right; i++) {
if (a[i] > a[i + 1]) {
char temp = a[i];
a[i] = a[i + 1];
a[i + 1] = temp;
k = i;
}
}
right = k;
for (int i = right; i > left; i--) {
if (a[i] < a[i - 1]) {
char temp = a[i];
a[i] = a[i - 1];
a[i - 1] = temp;
k = i;
}
}
left = k;
}
cout << "排序后的字符型数组为:";
for (int i = 0; i < size; i++) {
cout << a[i] << " ";
}
cout << endl;
}
```
该示例代码中,我们定义了三个函数重载,分别用于整型数组、浮点型数组、字符型数组的三段式冒泡排序。在 `main` 函数中,我们分别声明了三个不同类型的数组,并调用了对应的 `bubble` 函数进行排序。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)