写一个代码,用指向指针的指针的方法对n个整数排序并输出。要求将排序单独写成一个函数。n和各整数在主函数中输入。最后在主函数中输出。
时间: 2024-03-05 07:52:20 浏览: 25
好的,下面是代码实现:
```c++
#include <iostream>
using namespace std;
void sort(int **pp, int n) {
for (int i = 0; i < n - 1; i++) {
for (int j = 0; j < n - i - 1; j++) {
if (**(pp + j) > **(pp + j + 1)) {
int *temp = *(pp + j);
*(pp + j) = *(pp + j + 1);
*(pp + j + 1) = temp;
}
}
}
}
int main() {
int n;
cin >> n;
int **pp = new int *[n];
for (int i = 0; i < n; i++) {
int *p = new int;
cin >> *p;
*(pp + i) = p;
}
sort(pp, n);
for (int i = 0; i < n; i++) {
cout << **(pp + i) << " ";
delete *(pp + i);
}
delete[] pp;
return 0;
}
```
在这个程序中,我们首先定义了一个 `sort` 函数,用于对指向指针的指针进行排序。在主函数中,我们首先输入整数个数 `n`,然后创建一个指向指针的指针 `pp`,并且通过循环输入每个整数并将其存储到 `pp` 中。然后我们调用 `sort` 函数对 `pp` 中的整数进行排序,最后输出排序后的整数,并且记得释放内存。