输入10个整数,将它们从小到大排序后输出,并给出现在每个元素在原来序列中的位置。(用C++)
时间: 2024-12-04 10:25:49 浏览: 19
在C++中,你可以使用标准库提供的`sort`函数对数组进行排序,同时记录下每个元素原来的索引,可以借助另一个数组来存储原始位置。以下是实现这一功能的一个简单示例:
```cpp
#include <iostream>
#include <vector>
#include <algorithm> // 包含sort函数
void sortAndPrint(int arr[], int n) {
std::vector<int> originalPositions(n); // 存储原位置
for (int i = 0; i < n; i++) {
originalPositions[i] = i;
}
std::sort(arr, arr + n); // 对数组进行排序
std::cout << "Sorted array: ";
for (int i = 0; i < n; i++) {
std::cout << arr[i] << " at position " << originalPositions[i] << " in the original sequence, ";
}
std::cout << std::endl;
}
int main() {
int numbers[10]; // 假设这是你要排序的10个整数
// ... 从用户输入或者直接赋值 ...
sortAndPrint(numbers, 10);
return 0;
}
```
在这个程序中,`main`函数首先初始化了一个包含10个整数的数组。然后,调用`sortAndPrint`函数,该函数先创建一个与输入数组大小相同的`originalPositions`向量,并填充所有元素的初始索引。接着对`arr`数组进行排序,最后遍历并打印出排序后的数组以及每个元素在原始数组中的位置。
阅读全文