指针数组冒泡法排序c++
时间: 2025-01-02 14:42:56 浏览: 14
### C++ 中使用指针数组进行冒泡排序
在 C++ 中,可以利用指针数组来实现冒泡排序。通过指针操作可以直接访问和修改内存地址中的值,这使得程序更加灵活高效。
下面是一个完整的示例代码展示如何使用指针数组完成冒泡排序:
```cpp
#include <iostream>
using namespace std;
void swap(int *xp, int *yp) {
int temp = *xp;
*xp = *yp;
*yp = temp;
}
void bubbleSort(int arr[], int size) {
int i, j;
for (i = 0; i < size - 1; i++)
// Last i elements are already in place
for (j = 0; j < size - i - 1; j++)
if (*(arr + j) > *(arr + j + 1))
swap((arr + j), (arr + j + 1));
}
int main() {
int arr[] = {64, 34, 25, 12, 22, 11, 90};
int n = sizeof(arr)/sizeof(arr[0]);
cout << "原始数组:" << endl;
for (int i = 0; i < n; ++i)
cout << arr[i] << " ";
bubbleSort(arr, n);
cout << "\n排序后的数组:" << endl;
for (int i = 0; i < n; ++i)
cout << arr[i] << " ";
return 0;
}
```
此代码片段展示了如何定义 `swap` 函数用于交换两个整数值;以及 `bubbleSort` 函数实现了基于指针运算的冒泡排序逻辑[^1]。 主函数创建了一个简单的测试用例并调用了上述方法来进行排序处理[^2]。
阅读全文