在c语言中如何用指针实现数组的冒泡排序
时间: 2023-06-17 22:07:04 浏览: 97
c语言实现 通过指针调用函数的形式 实现冒泡排序
数组的冒泡排序是一种基本的排序算法,使用指针可以更方便地操作数组元素。下面是使用指针实现数组的冒泡排序的示例代码:
```c
#include <stdio.h>
void bubbleSort(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, 3, 8, 4, 2};
int size = sizeof(arr) / sizeof(arr[0]);
int i;
printf("Original array: ");
for (i = 0; i < size; i++) {
printf("%d ", *(arr + i));
}
bubbleSort(arr, size);
printf("\nSorted array: ");
for (i = 0; i < size; i++) {
printf("%d ", *(arr + i));
}
return 0;
}
```
在这个示例代码中,我们通过指针访问数组元素,使用两层循环实现冒泡排序。注意,在指针访问数组元素时,需要使用 *(arr + i) 的形式,因为 arr[i] 实际上是 *(arr + i) 的缩写形式。
阅读全文