编写程序,实现一组数的升序排序,分别考虑整数、单精度浮点数、字符型数据、字符串数据。要求使用重载函数实现
时间: 2023-03-27 15:00:48 浏览: 267
好的,这是一个关于编程的问题。对于整数、单精度浮点数、字符型数据、字符串数据的升序排序,可以使用重载函数来实现。以下是示例代码:
```
#include <iostream>
#include <string>
using namespace std;
void sort(int arr[], int n) {
for (int i = ; i < n - 1; i++) {
for (int j = i + 1; j < n; j++) {
if (arr[i] > arr[j]) {
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
}
void sort(float arr[], int n) {
for (int i = ; i < n - 1; i++) {
for (int j = i + 1; j < n; j++) {
if (arr[i] > arr[j]) {
float temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
}
void sort(char arr[], int n) {
for (int i = ; i < n - 1; i++) {
for (int j = i + 1; j < n; j++) {
if (arr[i] > arr[j]) {
char temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
}
void sort(string arr[], int n) {
for (int i = ; i < n - 1; i++) {
for (int j = i + 1; j < n; j++) {
if (arr[i] > arr[j]) {
string temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
}
int main() {
int intArr[] = { 3, 1, 4, 2, 5 };
sort(intArr, 5);
for (int i = ; i < 5; i++) {
cout << intArr[i] << " ";
}
cout << endl;
float floatArr[] = { 3.2f, 1.1f, 4.5f, 2.3f, 5.6f };
sort(floatArr, 5);
for (int i = ; i < 5; i++) {
cout << floatArr[i] << " ";
}
cout << endl;
char charArr[] = { 'c', 'a', 'd', 'b', 'e' };
sort(charArr, 5);
for (int i = ; i < 5; i++) {
cout << charArr[i] << " ";
}
cout << endl;
string stringArr[] = { "hello", "world", "apple", "banana", "orange" };
sort(stringArr, 5);
for (int i = ; i < 5; i++) {
cout << stringArr[i] << " ";
}
cout << endl;
return ;
}
```
这个程序使用了重载函数,分别对整数、单精度浮点数、字符型数据、字符串数据进行了升序排序。在主函数中,我们可以看到对于不同类型的数组,我们调用了不同的函数进行排序。
阅读全文