编写一个函数sort, 使用指针的方法对一个数组a[10],实现从大到小的排序
时间: 2024-02-27 09:51:36 浏览: 68
好的,下面是代码示例:
```c++
#include <iostream>
using namespace std;
void sort(int* ptr, int len) {
for (int i = 0; i < len - 1; i++) {
for (int j = i + 1; j < len; j++) {
if (*(ptr + i) < *(ptr + j)) { // 指针指向的元素两两比较
int temp = *(ptr + i);
*(ptr + i) = *(ptr + j);
*(ptr + j) = temp;
}
}
}
}
int main() {
int arr[10] = {9, 3, 7, 4, 2, 8, 5, 1, 6, 0};
int len = 10;
int* ptr = arr;
sort(ptr, len);
for (int i = 0; i < len; i++) {
cout << arr[i] << " ";
}
cout << endl;
return 0;
}
```
输出结果为:
```
9 8 7 6 5 4 3 2 1 0
```
解释一下,我们首先定义了一个长度为 10 的整型数组 arr,并初始化为 0 到 9 的连续整数。然后定义了一个指针变量 ptr,指向数组的第一个元素。
接着调用 sort 函数,将指针变量和数组长度作为参数传入,函数中使用指针的方式对数组进行从大到小的排序。
最后在主函数中输出已经排序后的数组元素,可以看到它们已经按照从大到小的顺序排列好了。
阅读全文