c 语言冒泡法排序pta
时间: 2023-09-22 14:05:42 浏览: 176
好的,以下是C语言实现的冒泡排序代码:
```c
#include <stdio.h>
void bubble_sort(int arr[], int n) {
for (int i = 0; i < n-1; i++) {
for (int j = 0; j < n-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 n;
scanf("%d", &n);
int arr[n];
for (int i = 0; i < n; i++) {
scanf("%d", &arr[i]);
}
bubble_sort(arr, n);
for (int i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
return 0;
}
```
输入样例:
```
5
10 5 2 4 7
```
输出样例:
```
2 4 5 7 10
```
相关问题
指针实现冒泡法排序pta
好的,下面是指针实现冒泡法排序的代码:
```C
void bubble_sort(int *arr, int n) {
for (int i = 0; i < n - 1; i++) {
for (int j = 0; j < n - i - 1; j++) {
if (*(arr + j) > *(arr + j + 1)) {
int temp = *(arr + j);
*(arr + j) = *(arr + j + 1);
*(arr + j + 1) = temp;
}
}
}
}
```
在这个代码中,我们使用了指针来访问数组中的元素。首先,我们定义了一个指向整型的指针 `arr`,它指向了我们要排序的数组的第一个元素。然后,我们在循环中使用指针来访问数组中的元素,使用 `*(arr + i)` 的形式来访问第 `i` 个元素。在交换两个元素的值时,我们也使用了指针。
需要注意的是,我们在定义指针时需要指定指针所指向的数据类型,否则会出现编译错误。此外,指针也可以使用下标来访问数组中的元素,即 `arr[i]` 等价于 `*(arr + i)`。
指针实现冒泡法排序PTA哈尔滨师范大学
好的,下面是指针实现冒泡法排序的代码:
```c
#include <stdio.h>
void bubble_sort(int *arr, int len) {
int i, j, temp;
for (i = 0; i < len - 1; i++) {
for (j = 0; j < len - 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, 4, 6, 3, 7, 2, 8, 1};
int len = sizeof(arr) / sizeof(arr[0]);
int i;
printf("排序前数组:");
for (i = 0; i < len; i++) {
printf("%d ", *(arr + i));
}
printf("\n");
bubble_sort(arr, len);
printf("排序后数组:");
for (i = 0; i < len; i++) {
printf("%d ", *(arr + i));
}
printf("\n");
return 0;
}
```
需要注意的是,在函数中使用指针访问数组元素时,需要使用 `*` 运算符进行解引用。同时,在 main 函数中也需要使用指针访问数组元素,可以使用 `arr[i]` 或者 `*(arr + i)` 两种方式。
阅读全文