C++ 数组实现正整数逆序排序算法
#include
int reverse(int num) { int result = 0; while (num > 0) { result = result * 10 + num % 10; num /= 10; } return result; }
int main() { int x, y; cin >> x >> y;
// 计算需要排序的数字个数
int count = y - x + 1;
// 创建一个数组存储需要排序的数字
int* nums = new int[count];
// 将需要排序的数字存入数组
for (int i = 0; i < count; i++) {
nums[i] = x + i;
}
// 使用冒泡排序按两数倒过来的值进行比较决定其大小
for (int i = 0; i < count - 1; i++) {
for (int j = 0; j < count - 1 - i; j++) {
if (reverse(nums[j]) > reverse(nums[j + 1])) {
int temp = nums[j];
nums[j] = nums[j + 1];
nums[j + 1] = temp;
}
}
}
// 输出排序后的结果
for (int i = 0; i < count; i++) {
cout << nums[i] << endl;
}
// 释放动态分配的数组内存
delete[] nums;
return 0;
}
原文地址: https://www.cveoy.top/t/topic/qnls 著作权归作者所有。请勿转载和采集!