这次实验中,要求大家通过指针的运用再编写程序用“冒泡法”对数组进行升序排序:名称应改成类似 ygxbubble用c语言
时间: 2024-02-01 09:16:45 浏览: 71
c语言程序实现冒泡法排序
好的,以下是一个用指针实现冒泡排序的C语言程序,命名为“ygxbubble”:
```c
#include <stdio.h>
void ygxbubble(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[] = {3, 1, 4, 1, 5, 9, 2, 6};
int size = sizeof(arr)/sizeof(int);
int i;
printf("Before sorting: ");
for(i = 0; i < size; i++) {
printf("%d ", *(arr+i));
}
printf("\n");
ygxbubble(arr, size);
printf("After sorting: ");
for(i = 0; i < size; i++) {
printf("%d ", *(arr+i));
}
printf("\n");
return 0;
}
```
在这个程序中,我们通过传递指向数组首位元素的指针和数组的大小,实现了冒泡排序。函数`ygxbubble`中,我们使用了指针的运算和间接引用,通过`*(arr+j)`来获取数组中第j个元素的值。在`main`函数中,我们定义了一个整型数组`arr`,并计算了其大小。然后我们调用`ygxbubble`函数对数组进行排序,并输出排序前后的结果。
阅读全文