使用函数实现选择和冒泡排序:分别定义选择排序函数void selectsort(int a[],int n) 和冒泡排序函数viod bubblesort(int a[],int n)对数组a中的元素进行排序,主函数中输入数组元素和元素个数,先调用选择排序函数对数组元素升序排序后输出结果,然后再调用冒泡排序对数组元素降序排序并输出结果。
时间: 2024-01-22 17:17:44 浏览: 97
以下是选择排序和冒泡排序的函数实现及主函数的代码:
```c++
#include <iostream>
using namespace std;
// 选择排序函数
void selectsort(int a[], int n) {
for (int i = 0; i < n - 1; i++) {
int min_index = i;
for (int j = i + 1; j < n; j++) {
if (a[j] < a[min_index]) {
min_index = j;
}
}
if (min_index != i) {
swap(a[i], a[min_index]);
}
}
}
// 冒泡排序函数
void bubblesort(int a[], int n) {
for (int i = 0; i < n - 1; i++) {
for (int j = 0; j < n - i - 1; j++) {
if (a[j] < a[j + 1]) {
swap(a[j], a[j + 1]);
}
}
}
}
int main() {
int n;
cout << "请输入数组元素个数:";
cin >> n;
int a[n];
cout << "请输入数组元素:";
for (int i = 0; i < n; i++) {
cin >> a[i];
}
// 调用选择排序函数进行升序排序
selectsort(a, n);
cout << "升序排序结果:";
for (int i = 0; i < n; i++) {
cout << a[i] << " ";
}
cout << endl;
// 调用冒泡排序函数进行降序排序
bubblesort(a, n);
cout << "降序排序结果:";
for (int i = 0; i < n; i++) {
cout << a[i] << " ";
}
cout << endl;
return 0;
}
```
注意,这里使用了 `swap` 函数来交换数组中的两个元素。如果您的编译器不支持这个函数,可以手动实现一个交换函数:
```c++
void swap(int& a, int& b) {
int temp = a;
a = b;
b = temp;
}
```
阅读全文