利用指针作为函数的形参,实现将10个整数从小到大排序并输出。
时间: 2024-09-20 18:07:33 浏览: 74
c代码-1. 功能:输入三个整数x,y,z,请把这三个数由小到大输出。
5星 · 资源好评率100%
在C++中,可以使用指针作为函数的参数来传递数组,并通过指针操作来实现对数组元素的排序。这里以冒泡排序为例,假设我们有一个名为`bubbleSort`的函数,它接受一个整型数组的首地址以及数组长度作为输入:
```cpp
#include <iostream>
// 冒泡排序函数,传入指针和数组长度
void bubbleSort(int* arr, int n) {
for (int i = 0; i < n - 1; ++i) {
for (int j = 0; j < n - 1 - i; ++j) {
if (arr[j] > arr[j + 1]) {
// 交换元素
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}
int main() {
int numbers[10] = {5, 3, 8, 1, 9, 2, 7, 4, 6, 0}; // 待排序数组
// 获取数组首地址
int* ptr = &numbers[0];
// 输出原始数组
std::cout << "Original array: ";
for (int i : numbers) {
std::cout << i << " ";
}
// 调用排序函数
bubbleSort(ptr, 10);
// 输出排序后的数组
std::cout << "\nSorted array: ";
for (int i : numbers) {
std::cout << i << " ";
}
return 0;
}
```
在这个例子中,`bubbleSort`函数通过指针遍历数组并对元素进行比较和交换,最终得到一个有序数组。注意,由于数组是静态存储在栈上,所以排序过程实际上是对数组本身的改变。
阅读全文