一维数组排序(冒泡法+指针)c语言
时间: 2023-07-30 15:05:11 浏览: 116
下面是一维数组排序的 C 语言代码,使用了冒泡排序法和指针来实现:
```
#include <stdio.h>
void bubble_sort(int *arr, int n) {
int i, j, temp;
for (i = 0; i < n - 1; i++) {
for (j = 0; j < n - 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[] = { 12, 45, 23, 51, 19, 8 };
int n = sizeof(arr) / sizeof(arr[0]);
int i;
printf("Before sorting:\n");
for (i = 0; i < n; i++) {
printf("%d ", *(arr + i));
}
bubble_sort(arr, n);
printf("\nAfter sorting:\n");
for (i = 0; i < n; i++) {
printf("%d ", *(arr + i));
}
return 0;
}
```
在 main 函数中,我们定义了一个整型数组 `arr`,并且求出了它的大小。然后我们调用 `bubble_sort` 函数进行排序,最后输出排序后的数组。
在 `bubble_sort` 函数中,我们使用了两个嵌套的循环来进行冒泡排序。指针 `arr` 指向数组的首地址,使用 `arr + j` 来访问数组中的元素。在交换两个元素时,我们使用了指针来访问数组中的元素。
阅读全文