c语言指针方法写冒泡排序
时间: 2023-06-17 19:06:56 浏览: 72
下面是用指针方法实现冒泡排序的示例代码:
```
#include <stdio.h>
void bubble_sort(int *arr, int size) {
int i, j, temp;
for (i = 0; i < size - 1; i++) {
for (j = 0; j < size - i - 1; j++) {
if (*(arr + j) > *(arr + j + 1)) {
temp = *(arr + j);
*(arr + j) = *(arr + j + 1);
*(arr + j + 1) = temp;
}
}
}
}
int main() {
int arr[] = {5, 2, 8, 6, 1, 9, 3, 7};
int size = sizeof(arr) / sizeof(int);
bubble_sort(arr, size);
int i;
for (i = 0; i < size; i++) {
printf("%d ", *(arr + i));
}
printf("\n");
return 0;
}
```
在 `bubble_sort` 函数中,我们使用了两个指针 `arr` 和 `arr + 1` 来指向相邻的两个元素,然后比较它们的大小,如果前面的元素比后面的元素大,就交换它们的位置。
在 `main` 函数中,我们定义了一个整型数组 `arr`,然后计算数组的大小,调用 `bubble_sort` 函数进行排序,最后输出排好序的数组。