用指针法实现冒泡法数组排序
时间: 2023-07-20 16:03:29 浏览: 106
下面是用指针法实现冒泡法数组排序的代码示例:
```c++
#include<iostream>
using namespace std;
void bubbleSort(int* arr, int size) {
for (int i = 0; i < size - 1; i++) {
for (int j = 0; j < size - i - 1; j++) {
if (*(arr + j) > *(arr + j + 1)) {
int temp = *(arr + j);
*(arr + j) = *(arr + j + 1);
*(arr + j + 1) = temp;
}
}
}
}
int main() {
int arr[] = { 5, 2, 4, 6, 1, 3 };
int size = sizeof(arr) / sizeof(arr[0]);
bubbleSort(arr, size);
for (int i = 0; i < size; i++) {
cout << *(arr + i) << " ";
}
return 0;
}
```
解析:
1. `bubbleSort` 函数使用两个嵌套循环遍历数组,每次比较相邻的两个元素,如果前一个比后一个大,则交换它们的值;
2. `main` 函数定义了一个整型数组 `arr` 和数组的大小 `size`;
3. 调用 `bubbleSort` 函数对数组进行排序;
4. 使用循环遍历数组,输出排序后的结果。
在这个代码示例中,指针与数组紧密结合,通过指针操作数组元素的值。
阅读全文