c++实现数组中数字从大到小和从小到大的排序
#include <iostream>
using namespace std;
void Print(int arr[], int length) {
for (int i = 0; i < length; i++) {
cout << arr[i] << " ";
}
cout << endl;
}
void BubbleSort1(int arr[],int length) {
int temp;
for (int i = 0; i < length - 1; i++) {
for (int j = length - 1; j > i; j--) {
if (arr[j] > arr[j - 1]) {
temp = arr[j];
arr[j] = arr[j - 1];
arr[j - 1] = temp;
}
}
}
}
void BubbleSort2(int arr[], int length) {
int temp;
for (int i = 0; i < length - 1; i++) {
for (int j = length - 1; j > i; j--) {
if (arr[j] < arr[j - 1]) {
temp = arr[j];
arr[j] = arr[j - 1];
arr[j - 1] = temp;
}
}
}
}
void BubbleSort3(int arr[], int length) {
int temp;
for (int i = 0; i < length - 1; i++) {
for (int j = 0; j < length - 1 - i; j++) {
if (arr[j] < arr[j + 1]) {
temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}
void BubbleSort4(int arr[], int length) {
int temp;
for (int i = 0; i < length - 1; i++) {
for (int j = 0; j < length-1-i; j++) {
if (arr[j] > arr[j + 1]) {
temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}
int main()
{
int number;
cout << "请您输入数组中数字的个数: ";
cin >> number;
int* arr = new int[number];
cout << "请你输入数组中的数字: ";
for (int i = 0; i < number; i++) {
cin >> arr[i];
}
int length = number;
cout << "这是原来的数组: ";
Print(arr, length);
BubbleSort1(arr, length);
cout << "这是从大到小排序的数组: ";
Print(arr, length);
BubbleSort2(arr, length);
cout << "这是从小到大排序的数组: ";
Print(arr, length);
BubbleSort3(arr, length);
cout << "这是从大到小排序的数组: ";
Print(arr, length);
BubbleSort4(arr, length);
cout << "这是从小到大排序的数组: ";
Print(arr, length);
return 0;
}